* 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:
@ -104,6 +104,8 @@ struct symlink_info
|
||||
void set_error (int);
|
||||
};
|
||||
|
||||
muto NO_COPY cwdstuff::cwd_lock;
|
||||
|
||||
int pcheck_case = PCHECK_RELAXED; /* Determines the case check behaviour. */
|
||||
|
||||
static const GUID GUID_shortcut
|
||||
@ -3728,9 +3730,9 @@ DWORD
|
||||
cwdstuff::get_hash ()
|
||||
{
|
||||
DWORD hashnow;
|
||||
cwd_lock->acquire ();
|
||||
cwd_lock.acquire ();
|
||||
hashnow = hash;
|
||||
cwd_lock->release ();
|
||||
cwd_lock.release ();
|
||||
return hashnow;
|
||||
}
|
||||
|
||||
@ -3738,7 +3740,7 @@ cwdstuff::get_hash ()
|
||||
void
|
||||
cwdstuff::init ()
|
||||
{
|
||||
new_muto (cwd_lock);
|
||||
cwd_lock.init ("cwd_lock");
|
||||
}
|
||||
|
||||
/* Get initial cwd. Should only be called once in a
|
||||
@ -3746,7 +3748,7 @@ cwdstuff::init ()
|
||||
bool
|
||||
cwdstuff::get_initial ()
|
||||
{
|
||||
cwd_lock->acquire ();
|
||||
cwd_lock.acquire ();
|
||||
|
||||
if (win32)
|
||||
return 1;
|
||||
@ -3766,7 +3768,7 @@ cwdstuff::set (const char *win32_cwd, const char *posix_cwd, bool doit)
|
||||
|
||||
if (win32_cwd)
|
||||
{
|
||||
cwd_lock->acquire ();
|
||||
cwd_lock.acquire ();
|
||||
if (doit && !SetCurrentDirectory (win32_cwd))
|
||||
{
|
||||
__seterrno ();
|
||||
@ -3823,7 +3825,7 @@ cwdstuff::set (const char *win32_cwd, const char *posix_cwd, bool doit)
|
||||
res = 0;
|
||||
out:
|
||||
if (win32_cwd)
|
||||
cwd_lock->release ();
|
||||
cwd_lock.release ();
|
||||
return res;
|
||||
}
|
||||
|
||||
@ -3867,7 +3869,7 @@ cwdstuff::get (char *buf, int need_posix, int with_chroot, unsigned ulen)
|
||||
strcpy (buf, "/");
|
||||
}
|
||||
|
||||
cwd_lock->release ();
|
||||
cwd_lock.release ();
|
||||
|
||||
out:
|
||||
syscall_printf ("(%s) = cwdstuff::get (%p, %d, %d, %d), errno %d",
|
||||
|
Reference in New Issue
Block a user