diff --git a/posixwin.scm b/posixwin.scm index 88a4a4f..f195e29 100644 --- a/posixwin.scm +++ b/posixwin.scm @@ -787,10 +787,14 @@ C_process(const char * app, const char * cmdlin, const char ** env, { if (f_share_io[i]) { + if (standard_io_handles[i] == INVALID_HANDLE_VALUE) { + success = NULL; + } else { success = DuplicateHandle( cur_process, standard_io_handles[i], cur_process, &child_io_handles[i], - 0, FALSE, DUPLICATE_SAME_ACCESS); + 0, TRUE, DUPLICATE_SAME_ACCESS); + } } else {