* 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.)
This commit is contained in:
@ -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
|
||||
|
Reference in New Issue
Block a user