From: Chris Hanson Date: Sat, 22 Apr 1995 21:13:55 +0000 (+0000) Subject: Don't send broken-pipe errors to the Scheme thread when they are X-Git-Tag: 20090517-FFI~6421 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=dfacb397b18d064bbde9f84d1708d97db47128db;p=mit-scheme.git Don't send broken-pipe errors to the Scheme thread when they are detected by the pipe readahead thread. Recently, this has seemed to cause a fatal error under certain timing conditions (which unfortunately didn't hold while running under the debugger). Although this fatal error is now probably fixed, rather than run the risk of finding out, it seems safer to avoid the behavior that seemed to cause the problem. Since the value of reporting broken-pipe errors is minimal at best, this is not a big deal. --- diff --git a/v7/src/microcode/os2pipe.c b/v7/src/microcode/os2pipe.c index c0053a0eb..14219f466 100644 --- a/v7/src/microcode/os2pipe.c +++ b/v7/src/microcode/os2pipe.c @@ -1,6 +1,6 @@ /* -*-C-*- -$Id: os2pipe.c,v 1.4 1995/04/22 21:07:12 cph Exp $ +$Id: os2pipe.c,v 1.5 1995/04/22 21:13:55 cph Exp $ Copyright (c) 1994-95 Massachusetts Institute of Technology @@ -120,11 +120,11 @@ input_pipe_thread (void * arg) else { OS2_destroy_message (message); - if (rc == ERROR_INVALID_HANDLE) + if ((rc == ERROR_INVALID_HANDLE) || (rc == ERROR_BROKEN_PIPE)) /* Handle was closed on us -- no need to do anything else. */ break; message = (OS2_make_syscall_error (rc, syscall_dos_read)); - eofp = (rc == ERROR_BROKEN_PIPE); + eofp = 0; } OS2_send_message (qid, message); if (eofp)