diff options
author | Christopher Faylor <me@cgf.cx> | 2005-10-23 23:47:45 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2005-10-23 23:47:45 +0000 |
commit | 82c925af80cb4493cc15861c18fea64c57c2ee60 (patch) | |
tree | 41f157a058cabbec22fcd979bb5c63730699c3ee /winsup/cygwin/dcrt0.cc | |
parent | c2c020d1fb082baff8dfd2f2ca93c66bf7151bd0 (diff) | |
download | cygnal-82c925af80cb4493cc15861c18fea64c57c2ee60.tar.gz cygnal-82c925af80cb4493cc15861c18fea64c57c2ee60.tar.bz2 cygnal-82c925af80cb4493cc15861c18fea64c57c2ee60.zip |
* 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.
Diffstat (limited to 'winsup/cygwin/dcrt0.cc')
-rw-r--r-- | winsup/cygwin/dcrt0.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc index 03df872c0..7599986bf 100644 --- a/winsup/cygwin/dcrt0.cc +++ b/winsup/cygwin/dcrt0.cc @@ -47,8 +47,8 @@ HANDLE NO_COPY hMainProc = (HANDLE) -1; HANDLE NO_COPY hMainThread; HANDLE NO_COPY hProcToken; HANDLE NO_COPY hProcImpToken; -muto NO_COPY dtable::lock_cs; /* This should be in dtable.cc but it causes inexplicable - errors there. */ + +muto NO_COPY lock_process::locker; bool display_title; bool strip_title_path; @@ -636,6 +636,7 @@ get_cygwin_startup_info () void __stdcall dll_crt0_0 () { + lock_process::init (); init_console_handler (TRUE); _impure_ptr = _GLOBAL_REENT; _impure_ptr->_stdin = &_impure_ptr->__sf[0]; |