* 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:
@ -22,14 +22,16 @@ class muto
|
||||
public:
|
||||
class muto *next;
|
||||
const char *name;
|
||||
|
||||
muto() {}
|
||||
/* The real constructor. */
|
||||
muto(int inh, const char *name);
|
||||
|
||||
void *operator new (size_t, void *p) {return p;}
|
||||
void *operator new (size_t) {return ::new muto; }
|
||||
void operator delete (void *) {;} /* can't handle allocated mutos
|
||||
currently */
|
||||
|
||||
muto() {}
|
||||
/* The real constructor. */
|
||||
muto(int inh, const char *name);
|
||||
~muto ();
|
||||
int acquire (DWORD ms = INFINITE) __attribute__ ((regparm(1))); /* Acquire the lock. */
|
||||
int release (); /* Release the lock. */
|
||||
|
Reference in New Issue
Block a user