|
@@ -61,7 +61,9 @@ static void process_finalize( vprocess *p ) {
|
|
# ifdef HL_WIN
|
|
# ifdef HL_WIN
|
|
CloseHandle(p->eread);
|
|
CloseHandle(p->eread);
|
|
CloseHandle(p->oread);
|
|
CloseHandle(p->oread);
|
|
- CloseHandle(p->iwrite);
|
|
|
|
|
|
+ if (p->iwrite != NULL) {
|
|
|
|
+ CloseHandle(p->iwrite);
|
|
|
|
+ }
|
|
CloseHandle(p->pinf.hProcess);
|
|
CloseHandle(p->pinf.hProcess);
|
|
CloseHandle(p->pinf.hThread);
|
|
CloseHandle(p->pinf.hThread);
|
|
# else
|
|
# else
|
|
@@ -235,6 +237,7 @@ HL_PRIM bool hl_process_stdin_close( vprocess *p ) {
|
|
# ifdef HL_WIN
|
|
# ifdef HL_WIN
|
|
if( !CloseHandle(p->iwrite) )
|
|
if( !CloseHandle(p->iwrite) )
|
|
return false;
|
|
return false;
|
|
|
|
+ p->iwrite = NULL;
|
|
# else
|
|
# else
|
|
if( close(p->iwrite) )
|
|
if( close(p->iwrite) )
|
|
return false;
|
|
return false;
|