* cygheap.h (cygheap_fdenum::cygheap_fdenum): Record locked state or suffer
deadlocks. (class locked_process): Move to another header. * sync.h (lock_process): Define here. * cygtls.cc (_cygtls::fixup_after_fork): Reset spinning state as well as stacklock state. * dcrt0.cc (lock_process::locker): Define. (dtable::lock_cs): Delete. * dtable.cc (dtable_init): Eliminate call to init_lock(). (dtable::fixup_after_fork): Ditto. (dtable::init_lock): Delete definition. * dtable.h (dtable::init_lock): Delete declaration. (dtable::lock): Use process lock rather than dtable-specific lock. (dtable::unlock): Ditto. * sigproc.cc (sigproc_init): Minor change to debugging output. * times.cc (utime_worker): Use build_fh_pc rather than reinterpreting the posix path name again. Return any error from path_conv immediately.
This commit is contained in:
@@ -20,7 +20,6 @@ class fhandler_fifo;
|
||||
#define BFH_OPTS (PC_NULLEMPTY | PC_FULL | PC_POSIX)
|
||||
class dtable
|
||||
{
|
||||
static muto lock_cs;
|
||||
fhandler_base **fds;
|
||||
#ifdef NEWVFORK
|
||||
fhandler_base **fds_on_hold;
|
||||
@@ -31,9 +30,8 @@ class dtable
|
||||
static const int initial_archetype_size = 8;
|
||||
int first_fd_for_open;
|
||||
int cnt_need_fixup_before;
|
||||
void lock () {lock_cs.acquire ();}
|
||||
void unlock () {lock_cs.release ();}
|
||||
void init_lock ();
|
||||
void lock () {lock_process::locker.acquire ();}
|
||||
void unlock () {lock_process::locker.release ();}
|
||||
public:
|
||||
size_t size;
|
||||
|
||||
|
Reference in New Issue
Block a user