* sync.h (muto::operator int): New operator.
(locker): Remove unused class. (new_muto): Delete. (new_muto1): Ditto. (new_muto_name): Ditto. * cygheap.cc (cygheap_setup_for_child): Reflect use of static storage for muto rather than pointer. (_csbrk): Ditto. (_cmalloc): Ditto. (_cmalloc): Ditto. (_cfree): Ditto. * cygheap.h (cwdstuff::cwd_lock): Ditto. (cwdstuff::get_drive): Ditto. * cygmalloc.h (__malloc_lock): Ditto. (__malloc_unlock): Ditto. * cygtls.cc (sentry::lock): Ditto. (sentry::sentry): Ditto. (~sentry): Ditto. (_cygtls::init): Ditto. * dcrt0.cc: Ditto. (cygwin_atexit): Ditto. (cygwin_exit): Ditto. * debug.cc (lock_debug::locker): Ditto. (lock_debug::lock_debug): Ditto. (lock_debug::unlock): Ditto. (debug_init): Ditto. * dtable.cc (dtable::init_lock): Ditto. * dtable.h (dtable::lock_cs): Ditto. (dtable::lock): Ditto. (dtable::unlock): Ditto. * exceptions.cc (mask_sync): Ditto. (sighold): Ditto. (set_process_mask_delta): Ditto. (set_signal_mask): Ditto. (events_init): Ditto. * grp.cc (pwdgrp::pwdgrp): Ditto. * malloc_wrapper.cc (mallock): Ditto. (malloc_init): Ditto. * path.cc (cwdstuff::cwd_lock): Ditto. (cwdstuff::get_hash): Ditto. (cwdstuff::get_hash): Ditto. (cwdstuff::init): Ditto. (cwdstuff::set): Ditto. (cwdstuff::get): Ditto. * pwdgrp.h (pwdgrp::pglock): Ditto. (pwdgrp::refresh): Ditto. * sigproc.cc (sync_proc_subproc): Ditto. (get_proc_lock): Ditto. (proc_subproc): Ditto. (_cygtls::remove_wq): Ditto. (proc_terminate): Ditto. (sigproc_init): Ditto. * timer.cc (lock_timer_tracker::protect): Ditto. (lock_timer_tracker::lock_timer_tracker): Ditto. (lock_timer_tracker::~lock_timer_tracker): Ditto. * wininfo.cc (wininfo::_lock;): Ditto. (wininfo::winthread): Ditto. (operator HWND): Ditto. (wininfo::lock): Ditto. (wininfo::release): Ditto. * wininfo.h (wininfo::_lock;): Ditto.
This commit is contained in:
@@ -47,6 +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. */
|
||||
|
||||
bool display_title;
|
||||
bool strip_title_path;
|
||||
@@ -1078,17 +1080,16 @@ do_exit (int status)
|
||||
myself.exit (n);
|
||||
}
|
||||
|
||||
static muto *atexit_lock;
|
||||
static NO_COPY muto atexit_lock;
|
||||
|
||||
extern "C" int
|
||||
cygwin_atexit (void (*function)(void))
|
||||
{
|
||||
int res;
|
||||
if (!atexit_lock)
|
||||
new_muto (atexit_lock);
|
||||
atexit_lock->acquire ();
|
||||
atexit_lock.init ("atexit_lock");
|
||||
atexit_lock.acquire ();
|
||||
res = atexit (function);
|
||||
atexit_lock->release ();
|
||||
atexit_lock.release ();
|
||||
return res;
|
||||
}
|
||||
|
||||
@@ -1096,7 +1097,7 @@ extern "C" void
|
||||
cygwin_exit (int n)
|
||||
{
|
||||
if (atexit_lock)
|
||||
atexit_lock->acquire ();
|
||||
atexit_lock.acquire ();
|
||||
exit (n);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user