Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/winsup
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2001-05-19 09:29:00 +0400
committerChristopher Faylor <me@cgf.cx>2001-05-19 09:29:00 +0400
commit87f0d5ad9948adab5c3adb2c1067509e94d39e5c (patch)
tree6c4cb98972a8ee8a2bd2ca2684bd0cfb91a7e17b /winsup
parent0260054a8cf0ca8642994847e4c64156f0adc983 (diff)
* 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.
Diffstat (limited to 'winsup')
-rw-r--r--winsup/cygwin/ChangeLog7
-rw-r--r--winsup/cygwin/autoload.cc12
-rw-r--r--winsup/cygwin/grp.cc2
-rw-r--r--winsup/cygwin/passwd.cc2
4 files changed, 12 insertions, 11 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index c187f134f..62d76f270 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -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
diff --git a/winsup/cygwin/autoload.cc b/winsup/cygwin/autoload.cc
index d291fdc33..1348e5263 100644
--- a/winsup/cygwin/autoload.cc
+++ b/winsup/cygwin/autoload.cc
@@ -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\
diff --git a/winsup/cygwin/grp.cc b/winsup/cygwin/grp.cc
index d81521668..604f1a8d6 100644
--- a/winsup/cygwin/grp.cc
+++ b/winsup/cygwin/grp.cc
@@ -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 */
diff --git a/winsup/cygwin/passwd.cc b/winsup/cygwin/passwd.cc
index 6959f34e3..7c214987c 100644
--- a/winsup/cygwin/passwd.cc
+++ b/winsup/cygwin/passwd.cc
@@ -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 */