diff options
Diffstat (limited to 'io.c')
-rw-r--r-- | io.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -941,22 +941,24 @@ pipe_atexit() } } -#if !defined (__CYGWIN32__) static void pipe_finalize(fptr) OpenFile *fptr; { +#if !defined (__CYGWIN32__) if (fptr->f != NULL) { pclose(fptr->f); } if (fptr->f2 != NULL) { pclose(fptr->f2); } +#else + fptr_finalize(fptr); +#endif fptr->f = fptr->f2 = NULL; pipe_del_fptr(fptr); } #endif -#endif void io_unbuffered(fptr) @@ -1076,6 +1078,7 @@ pipe_open(pname, mode) else fptr->f = f; } #if defined (__CYGWIN32__) + fptr->finalize = pipe_finalize; pipe_add_fptr(fptr); #endif return (VALUE)port; |