Lines Matching refs:descriptors

559 static void init_startup_info(STARTUPINFOW *si, descriptorspec_item *descriptors, int ndesc)  in init_startup_info()  argument
571 switch (descriptors[i].index) { in init_startup_info()
573 si->hStdInput = descriptors[i].childend; in init_startup_info()
576 si->hStdOutput = descriptors[i].childend; in init_startup_info()
579 si->hStdError = descriptors[i].childend; in init_startup_info()
830 descriptorspec_item *descriptors, int ndesc, int nindex) in redirect_proc_descriptor() argument
835 if (descriptors[i].index == target) { in redirect_proc_descriptor()
836 redirect_to = descriptors[i].childend; in redirect_proc_descriptor()
865 static int set_proc_descriptor_from_array(zval *descitem, descriptorspec_item *descriptors, in set_proc_descriptor_from_array() argument
880 retval = set_proc_descriptor_to_pipe(&descriptors[ndesc], zmode); in set_proc_descriptor_from_array()
883 retval = set_proc_descriptor_to_socket(&descriptors[ndesc]); in set_proc_descriptor_from_array()
892 retval = set_proc_descriptor_to_file(&descriptors[ndesc], zfile, zmode); in set_proc_descriptor_from_array()
906 &descriptors[ndesc], (int)Z_LVAL_P(ztarget), descriptors, ndesc, nindex); in set_proc_descriptor_from_array()
909 retval = set_proc_descriptor_to_blackhole(&descriptors[ndesc]); in set_proc_descriptor_from_array()
912 retval = set_proc_descriptor_to_pty(&descriptors[ndesc], pty_master_fd, pty_slave_fd); in set_proc_descriptor_from_array()
953 static int close_parentends_of_pipes(descriptorspec_item *descriptors, int ndesc) in close_parentends_of_pipes() argument
960 if (descriptors[i].type != DESCRIPTOR_TYPE_STD) { in close_parentends_of_pipes()
961 close(descriptors[i].parentend); in close_parentends_of_pipes()
963 if (descriptors[i].childend != descriptors[i].index) { in close_parentends_of_pipes()
964 if (dup2(descriptors[i].childend, descriptors[i].index) < 0) { in close_parentends_of_pipes()
966 "file descriptor %d: %s", descriptors[i].childend, descriptors[i].index, strerror(errno)); in close_parentends_of_pipes()
969 close(descriptors[i].childend); in close_parentends_of_pipes()
977 static void close_all_descriptors(descriptorspec_item *descriptors, int ndesc) in close_all_descriptors() argument
980 close_descriptor(descriptors[i].childend); in close_all_descriptors()
981 if (descriptors[i].parentend) in close_all_descriptors()
982 close_descriptor(descriptors[i].parentend); in close_all_descriptors()
1015 descriptorspec_item *descriptors = NULL; in PHP_FUNCTION() local
1089 descriptors = alloc_descriptor_array(descriptorspec); in PHP_FUNCTION()
1098 descriptors[ndesc].index = (int)nindex; in PHP_FUNCTION()
1101 if (set_proc_descriptor_from_resource(descitem, &descriptors[ndesc], ndesc) == FAILURE) { in PHP_FUNCTION()
1105 if (set_proc_descriptor_from_array(descitem, descriptors, ndesc, (int)nindex, in PHP_FUNCTION()
1131 init_startup_info(&si, descriptors, ndesc); in PHP_FUNCTION()
1178 close_all_descriptors(descriptors, ndesc); in PHP_FUNCTION()
1193 if (close_parentends_of_pipes(descriptors, ndesc) == FAILURE) { in PHP_FUNCTION()
1224 close_all_descriptors(descriptors, ndesc); in PHP_FUNCTION()
1254 close_descriptor(descriptors[i].childend); in PHP_FUNCTION()
1256 if (descriptors[i].type == DESCRIPTOR_TYPE_PIPE) { in PHP_FUNCTION()
1259 switch (descriptors[i].mode_flags) { in PHP_FUNCTION()
1280 stream = php_stream_fopen_from_fd(_open_osfhandle((zend_intptr_t)descriptors[i].parentend, in PHP_FUNCTION()
1281 descriptors[i].mode_flags), mode_string, NULL); in PHP_FUNCTION()
1284 stream = php_stream_fopen_from_fd(descriptors[i].parentend, mode_string, NULL); in PHP_FUNCTION()
1286 } else if (descriptors[i].type == DESCRIPTOR_TYPE_SOCKET) { in PHP_FUNCTION()
1287 stream = php_stream_sock_open_from_socket((php_socket_t) descriptors[i].parentend, NULL); in PHP_FUNCTION()
1299 add_index_zval(pipes, descriptors[i].index, &retfp); in PHP_FUNCTION()
1332 if (descriptors) { in PHP_FUNCTION()
1333 efree(descriptors); in PHP_FUNCTION()