* grp.cc (read_etc_group): Don't copy mutex on fork.
* pwd.cc (read_etc_passwd): Ditto. * autoload.cc (LoadDLLfuncEx): Use LoadDLLprime to initialize DLL specific area.
This commit is contained in:
parent
0260054a8c
commit
87f0d5ad99
|
@ -1,3 +1,10 @@
|
|||
Sat May 19 01:22:43 2001 Christopher Faylor <cgf@cygnus.com>
|
||||
|
||||
* grp.cc (read_etc_group): Don't copy mutex on fork.
|
||||
* pwd.cc (read_etc_passwd): Ditto.
|
||||
* autoload.cc (LoadDLLfuncEx): Use LoadDLLprime to initialize DLL
|
||||
specific area.
|
||||
|
||||
Fri May 18 10:31:00 2001 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* net.cc (wsock_event::wait): Explicitely cancel IO when a signal
|
||||
|
|
|
@ -74,15 +74,9 @@ details. */
|
|||
#define LoadDLLfunc(name, n, dllname) LoadDLLfuncEx (name, n, dllname, 0)
|
||||
|
||||
/* Main DLL setup stuff. */
|
||||
#define LoadDLLfuncEx(name, n, dllname, notimp) __asm__ ("\
|
||||
.section ." #dllname "_info,\"w\" \n\
|
||||
.linkonce \n\
|
||||
.long std_dll_init \n\
|
||||
.long 0 \n\
|
||||
.long -1 \n\
|
||||
.long dll_func_load \n\
|
||||
.asciz \"" #dllname "\" \n\
|
||||
\n\
|
||||
#define LoadDLLfuncEx(name, n, dllname, notimp) \
|
||||
LoadDLLprime (dllname, dll_func_load) \
|
||||
__asm__ (" \n\
|
||||
.section ." #dllname "_text,\"wx\" \n\
|
||||
.global _" mangle (name, n) " \n\
|
||||
.global _win32_" mangle (name, n) " \n\
|
||||
|
|
|
@ -140,7 +140,7 @@ read_etc_group ()
|
|||
|
||||
strncpy (group_name, "Administrators", sizeof (group_name));
|
||||
|
||||
static pthread_mutex_t etc_group_mutex = (pthread_mutex_t) PTHREAD_MUTEX_INITIALIZER;
|
||||
static NO_COPY pthread_mutex_t etc_group_mutex = (pthread_mutex_t) PTHREAD_MUTEX_INITIALIZER;
|
||||
pthread_mutex_lock (&etc_group_mutex);
|
||||
|
||||
/* if we got blocked by the mutex, then etc_group may have been processed */
|
||||
|
|
|
@ -127,7 +127,7 @@ read_etc_passwd ()
|
|||
* for non-shared mutexs in the future. Also, this function will at most be called
|
||||
* once from each thread, after that the passwd_state test will succeed
|
||||
*/
|
||||
static pthread_mutex_t etc_passwd_mutex = (pthread_mutex_t) PTHREAD_MUTEX_INITIALIZER;
|
||||
static NO_COPY pthread_mutex_t etc_passwd_mutex = (pthread_mutex_t) PTHREAD_MUTEX_INITIALIZER;
|
||||
pthread_mutex_lock (&etc_passwd_mutex);
|
||||
|
||||
/* if we got blocked by the mutex, then etc_passwd may have been processed */
|
||||
|
|
Loading…
Reference in New Issue