From 243a041bd0164aa62813ac4ba5a1a02eb2db455b Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Sat, 3 Nov 2001 03:32:27 +0000 Subject: * dll_init.h (class dll_list): Reorder functions to avoid compiler "can't inline" warnings. * security.h (class cygsid): Ditto. * sigproc.cc (get_proc_lock): Ditto. * sigproc.h (class sigframe): Ditto. * sync.h (class muto): Ditto. * fhandler.h (fhandler_base::get_guard): Actually MAKE virtual as previously indicated. * pipe.cc (make_pipe): Remove extraneous set_errno. * syscalls.cc (_open): Ditto. * select.cc (peek_pipe): Need to check that there is still something to read from the pipe after acquiring the mutex since another process/thread could have eaten the input before we got to acquiring the lock. (Thanks to Nick Duffek for this inspiration.) --- winsup/cygwin/pipe.cc | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'winsup/cygwin/pipe.cc') diff --git a/winsup/cygwin/pipe.cc b/winsup/cygwin/pipe.cc index fed1add0f..904dbd27b 100644 --- a/winsup/cygwin/pipe.cc +++ b/winsup/cygwin/pipe.cc @@ -133,13 +133,11 @@ make_pipe (int fildes[2], unsigned int psize, int mode) int res = -1; cygheap_fdnew fdr; - if (fdr < 0) - /* saw an error */; - else + if (fdr >= 0) { cygheap_fdnew fdw (fdr, false); if (fdw < 0) - set_errno (ENMFILE); + /* out of fds? */; else if (!CreatePipe (&r, &w, sa, psize)) __seterrno (); else -- cgit v1.2.3