mirror of
https://github.com/janet-lang/janet
synced 2024-12-26 00:10:27 +00:00
Conditionally ignore pclose as well as popen.
This commit is contained in:
parent
d05bb1c125
commit
e013381e72
@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
project('janet', 'c',
|
project('janet', 'c',
|
||||||
default_options : ['c_std=c99', 'b_lundef=false', 'default_library=both'],
|
default_options : ['c_std=c99', 'b_lundef=false', 'default_library=both'],
|
||||||
version : '1.9.0')
|
version : '1.9.1-dev')
|
||||||
|
|
||||||
# Global settings
|
# Global settings
|
||||||
janet_path = join_paths(get_option('prefix'), get_option('libdir'), 'janet')
|
janet_path = join_paths(get_option('prefix'), get_option('libdir'), 'janet')
|
||||||
|
@ -28,9 +28,9 @@
|
|||||||
|
|
||||||
#define JANET_VERSION_MAJOR 1
|
#define JANET_VERSION_MAJOR 1
|
||||||
#define JANET_VERSION_MINOR 9
|
#define JANET_VERSION_MINOR 9
|
||||||
#define JANET_VERSION_PATCH 0
|
#define JANET_VERSION_PATCH 1
|
||||||
#define JANET_VERSION_EXTRA ""
|
#define JANET_VERSION_EXTRA "-dev"
|
||||||
#define JANET_VERSION "1.9.0"
|
#define JANET_VERSION "1.9.1-dev"
|
||||||
|
|
||||||
/* #define JANET_BUILD "local" */
|
/* #define JANET_BUILD "local" */
|
||||||
|
|
||||||
|
@ -253,7 +253,9 @@ static int cfun_io_gc(void *p, size_t len) {
|
|||||||
if (!(iof->flags & (JANET_FILE_NOT_CLOSEABLE | JANET_FILE_CLOSED))) {
|
if (!(iof->flags & (JANET_FILE_NOT_CLOSEABLE | JANET_FILE_CLOSED))) {
|
||||||
/* We can't panic inside a gc, so just ignore bad statuses here */
|
/* We can't panic inside a gc, so just ignore bad statuses here */
|
||||||
if (iof->flags & JANET_FILE_PIPED) {
|
if (iof->flags & JANET_FILE_PIPED) {
|
||||||
|
#ifndef JANET_NO_PROCESSES
|
||||||
pclose(iof->file);
|
pclose(iof->file);
|
||||||
|
#endif
|
||||||
} else {
|
} else {
|
||||||
fclose(iof->file);
|
fclose(iof->file);
|
||||||
}
|
}
|
||||||
@ -270,10 +272,12 @@ static Janet cfun_io_fclose(int32_t argc, Janet *argv) {
|
|||||||
if (iof->flags & (JANET_FILE_NOT_CLOSEABLE))
|
if (iof->flags & (JANET_FILE_NOT_CLOSEABLE))
|
||||||
janet_panic("file not closable");
|
janet_panic("file not closable");
|
||||||
if (iof->flags & JANET_FILE_PIPED) {
|
if (iof->flags & JANET_FILE_PIPED) {
|
||||||
|
#ifndef JANET_NO_PROCESSES
|
||||||
int status = pclose(iof->file);
|
int status = pclose(iof->file);
|
||||||
iof->flags |= JANET_FILE_CLOSED;
|
iof->flags |= JANET_FILE_CLOSED;
|
||||||
if (status == -1) janet_panic("could not close file");
|
if (status == -1) janet_panic("could not close file");
|
||||||
return janet_wrap_integer(WEXITSTATUS(status));
|
return janet_wrap_integer(WEXITSTATUS(status));
|
||||||
|
#endif
|
||||||
} else {
|
} else {
|
||||||
if (fclose(iof->file)) janet_panic("could not close file");
|
if (fclose(iof->file)) janet_panic("could not close file");
|
||||||
iof->flags |= JANET_FILE_CLOSED;
|
iof->flags |= JANET_FILE_CLOSED;
|
||||||
|
Loading…
Reference in New Issue
Block a user