OSDN Git Service

* grp.cc (read_etc_group): Don't copy mutex on fork.
authorcgf <cgf>
Sat, 19 May 2001 05:28:59 +0000 (05:28 +0000)
committercgf <cgf>
Sat, 19 May 2001 05:28:59 +0000 (05:28 +0000)
* pwd.cc (read_etc_passwd): Ditto.
* autoload.cc (LoadDLLfuncEx): Use LoadDLLprime to initialize DLL specific
area.

winsup/cygwin/ChangeLog
winsup/cygwin/autoload.cc
winsup/cygwin/grp.cc
winsup/cygwin/passwd.cc

index c187f13..62d76f2 100644 (file)
@@ -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
index d291fdc..1348e52 100644 (file)
@@ -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\
index d815216..604f1a8 100644 (file)
@@ -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 */
index 6959f34..7c21498 100644 (file)
@@ -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 */