]> sourceware.org Git - newlib-cygwin.git/commitdiff
* cygwin.din: Fix some erroneous SIGFE/NOSIGFE settings.
authorChristopher Faylor <me@cgf.cx>
Wed, 1 Mar 2006 21:31:24 +0000 (21:31 +0000)
committerChristopher Faylor <me@cgf.cx>
Wed, 1 Mar 2006 21:31:24 +0000 (21:31 +0000)
* cygthread.cc (cygthread::callfunc): Revert below change.  Make ev a manual
reset event again.  so that it will be reset by WaitFor*Object as appropriate.
(cygthread::stub): Ditto.
(cygthread::terminate_thread): Reset ev if it was found to have been set.

winsup/cygwin/ChangeLog
winsup/cygwin/cygthread.cc
winsup/cygwin/cygwin.din

index f525f0dd7b5463a89ac85834274941ffd21f261f..09d75614583cbd322a9e65e68a44684ac6d75a21 100644 (file)
@@ -1,3 +1,16 @@
+2006-03-01  Christopher Faylor  <cgf@timesys.com>
+
+       * cygwin.din: Fix some erroneous SIGFE/NOSIGFE settings.
+
+2006-03-01  Christopher Faylor  <cgf@timesys.com>
+
+       * cygthread.cc (cygthread::callfunc): Revert below change.  Make ev a
+       manual reset event again.  so that it will be reset by WaitFor*Object
+       as appropriate.
+       (cygthread::stub): Ditto.
+       (cygthread::terminate_thread): Reset ev if it was found to have been
+       set.
+
 2006-03-01  Christopher Faylor  <cgf@timesys.com>
 
        * analyze_sigfe: New script.
index a365dcc5be0f698676a420860c55e0621085de69..4074543109f93845f63a6f8296521785a0c0f574 100644 (file)
@@ -36,7 +36,7 @@ cygthread::callfunc (bool issimplestub)
   else
     {
       if (issimplestub)
-       ev = CreateEvent (&sec_none_nih, FALSE, FALSE, NULL);
+       ev = CreateEvent (&sec_none_nih, TRUE, FALSE, NULL);
       pass_arg = alloca (arglen);
       memcpy (pass_arg, arg, arglen);
       SetEvent (ev);
@@ -78,7 +78,7 @@ cygthread::stub (VOID *arg)
       debug_printf ("thread '%s', id %p, stack_ptr %p", info->name (), info->id, info->stack_ptr);
       if (!info->ev)
        {
-         info->ev = CreateEvent (&sec_none_nih, FALSE, FALSE, NULL);
+         info->ev = CreateEvent (&sec_none_nih, TRUE, FALSE, NULL);
          info->thread_sync = CreateEvent (&sec_none_nih, FALSE, FALSE, NULL);
        }
     }
@@ -303,8 +303,8 @@ cygthread::terminate_thread ()
   if (!inuse || exiting)
     goto force_notterminated;
 
-  if (ev)
-    terminated = WaitForSingleObject (ev, 0) != WAIT_OBJECT_0;
+  if (ev && !(terminated = WaitForSingleObject (ev, 0) != WAIT_OBJECT_0))
+    ResetEvent (ev);
 
   MEMORY_BASIC_INFORMATION m;
   memset (&m, 0, sizeof (m));
@@ -319,7 +319,12 @@ cygthread::terminate_thread ()
   if (is_freerange)
     free (this);
   else
-    release (true);
+    {
+#ifdef DEBUGGING
+      terminated = true;
+#endif
+      release (true);
+    }
 
   goto out;
 
index 659bf4da07e01cf3db16415d4cb10ad08c2fe108..ae91911cd2a5e79a13ee928d2156e61d8992bcce 100644 (file)
@@ -215,7 +215,7 @@ _atoi = atoi NOSIGFE
 atol NOSIGFE
 _atol = atol NOSIGFE
 atoll NOSIGFE
-basename SIGFE
+basename NOSIGFE
 bcmp NOSIGFE
 _bcmp = bcmp NOSIGFE
 bcopy NOSIGFE
@@ -253,8 +253,8 @@ _chown32 = chown32 SIGFE
 chroot SIGFE
 _chroot = chroot SIGFE
 cleanup_glue NOSIGFE
-clearerr NOSIGFE
-_clearerr = clearerr NOSIGFE
+clearerr SIGFE
+_clearerr = clearerr SIGFE
 clock SIGFE
 _clock = clock SIGFE
 clock_gettime SIGFE
@@ -264,8 +264,7 @@ close SIGFE
 _close = close SIGFE
 closedir SIGFE
 _closedir = closedir SIGFE
-closelog NOSIGFE
-_closelog = closelog NOSIGFE
+closelog SIGFE
 copysign NOSIGFE
 _copysign = copysign NOSIGFE
 copysignf NOSIGFE
@@ -280,7 +279,7 @@ coshf NOSIGFE
 _coshf = coshf NOSIGFE
 creat SIGFE
 _creat = creat SIGFE
-ctermid NOSIGFE
+ctermid SIGFE
 ctime SIGFE
 _ctime = ctime SIGFE
 ctime_r SIGFE
@@ -302,8 +301,8 @@ cygwin_conv_to_posix_path SIGFE
 cygwin32_conv_to_posix_path = cygwin_conv_to_posix_path SIGFE
 cygwin_conv_to_win32_path SIGFE
 cygwin32_conv_to_win32_path = cygwin_conv_to_win32_path SIGFE
-cygwin_detach_dll NOSIGFE
-cygwin32_detach_dll = cygwin_detach_dll NOSIGFE
+cygwin_detach_dll SIGFE
+cygwin32_detach_dll = cygwin_detach_dll SIGFE
 cygwin_dll_init NOSIGFE
 endprotoent = cygwin_endprotoent SIGFE
 endservent = cygwin_endservent SIGFE
@@ -325,7 +324,7 @@ getservbyport = cygwin_getservbyport SIGFE
 getservent = cygwin_getservent SIGFE
 getsockname = cygwin_getsockname SIGFE
 getsockopt = cygwin_getsockopt SIGFE
-getsubopt SIGFE
+getsubopt NOSIGFE
 getusershell SIGFE
 herror = cygwin_herror SIGFE
 hstrerror = cygwin_hstrerror NOSIGFE
@@ -336,15 +335,15 @@ inet_network = cygwin_inet_network SIGFE
 inet_ntoa = cygwin_inet_ntoa SIGFE
 inet_ntop = cygwin_inet_ntop SIGFE
 cygwin_internal NOSIGFE
-cygwin32_internal = cygwin_internal NOSIGFE
+cygwin32_internal = cygwin_internal SIGFE
 listen = cygwin_listen SIGFE
 cygwin_logon_user SIGFE
 lstat SIGFE
 _lstat = lstat SIGFE
 cygwin_posix_path_list_p NOSIGFE
 cygwin32_posix_path_list_p = cygwin_posix_path_list_p NOSIGFE
-cygwin_posix_to_win32_path_list NOSIGFE
-cygwin32_posix_to_win32_path_list = cygwin_posix_to_win32_path_list NOSIGFE
+cygwin_posix_to_win32_path_list SIGFE
+cygwin32_posix_to_win32_path_list = cygwin_posix_to_win32_path_list SIGFE
 cygwin_posix_to_win32_path_list_buf_size SIGFE
 cygwin32_posix_to_win32_path_list_buf_size = cygwin_posix_to_win32_path_list_buf_size SIGFE
 rcmd = cygwin_rcmd SIGFE
@@ -362,7 +361,7 @@ send = cygwin_send SIGFE
 sendmsg = cygwin_sendmsg SIGFE
 sendto = cygwin_sendto SIGFE
 cygwin_set_impersonation_token SIGFE
-setprogname SIGFE
+setprogname NOSIGFE
 setprotoent = cygwin_setprotoent SIGFE
 setservent = cygwin_setservent SIGFE
 setsockopt = cygwin_setsockopt SIGFE
@@ -373,8 +372,8 @@ cygwin_split_path NOSIGFE
 cygwin32_split_path = cygwin_split_path NOSIGFE
 cygwin_stackdump SIGFE
 cygwin_umount SIGFE
-cygwin_win32_to_posix_path_list NOSIGFE
-cygwin32_win32_to_posix_path_list = cygwin_win32_to_posix_path_list NOSIGFE
+cygwin_win32_to_posix_path_list SIGFE
+cygwin32_win32_to_posix_path_list = cygwin_win32_to_posix_path_list SIGFE
 cygwin_win32_to_posix_path_list_buf_size SIGFE
 cygwin32_win32_to_posix_path_list_buf_size = cygwin_win32_to_posix_path_list_buf_size SIGFE
 cygwin_winpid_to_pid SIGFE
@@ -384,7 +383,7 @@ difftime NOSIGFE
 _difftime = difftime NOSIGFE
 dirfd SIGFE
 _dirfd = dirfd SIGFE
-dirname SIGFE
+dirname NOSIGFE
 div NOSIGFE
 _div = div NOSIGFE
 dlclose SIGFE
@@ -500,8 +499,8 @@ _fdopen = fdopen SIGFE
 _fdopen64 = fdopen64 SIGFE
 feof SIGFE
 _feof = feof SIGFE
-ferror NOSIGFE
-_ferror = ferror NOSIGFE
+ferror SIGFE
+_ferror = ferror SIGFE
 fflush SIGFE
 _fflush = fflush SIGFE
 ffs NOSIGFE
@@ -513,8 +512,8 @@ _fgetpos = fgetpos SIGFE
 _fgetpos64 = fgetpos64 SIGFE
 fgets SIGFE
 _fgets = fgets SIGFE
-fileno NOSIGFE
-_fileno = fileno NOSIGFE
+fileno SIGFE
+_fileno = fileno SIGFE
 finite NOSIGFE
 _finite = finite NOSIGFE
 finitef NOSIGFE
@@ -630,8 +629,8 @@ getchar_unlocked SIGFE
 _getchar_unlocked = getchar_unlocked SIGFE
 getcwd SIGFE
 _getcwd = getcwd SIGFE
-__getdelim NOSIGFE
-getdelim = __getdelim NOSIGFE
+__getdelim SIGFE
+getdelim = __getdelim SIGFE
 getdomainname SIGFE
 _getdomainname = getdomainname SIGFE
 getdtablesize NOSIGFE
@@ -663,8 +662,8 @@ _getgroups = getgroups SIGFE
 _getgroups32 = getgroups32 SIGFE
 gethostid SIGFE
 getitimer SIGFE
-__getline NOSIGFE
-getline = __getline NOSIGFE
+__getline SIGFE
+getline = __getline SIGFE
 getlogin_r NOSIGFE
 getlogin NOSIGFE
 _getlogin = getlogin NOSIGFE
@@ -686,7 +685,7 @@ getpid NOSIGFE
 _getpid = getpid NOSIGFE
 getppid NOSIGFE
 _getppid = getppid NOSIGFE
-getpriority NOSIGFE
+getpriority SIGFE
 getpwduid NOSIGFE
 _getpwduid = getpwduid NOSIGFE
 getpwent SIGFE
@@ -1058,7 +1057,7 @@ pthread_exit SIGFE
 pthread_getconcurrency SIGFE
 pthread_getschedparam SIGFE
 pthread_getsequence_np SIGFE
-pthread_getspecific NOSIGFE
+pthread_getspecific SIGFE
 pthread_join SIGFE
 pthread_key_create SIGFE
 pthread_key_delete SIGFE
@@ -1097,7 +1096,7 @@ pthread_setcancelstate SIGFE
 pthread_setcanceltype SIGFE
 pthread_setconcurrency SIGFE
 pthread_setschedparam SIGFE
-pthread_setspecific NOSIGFE
+pthread_setspecific SIGFE
 pthread_sigmask SIGFE
 pthread_suspend SIGFE
 pthread_testcancel SIGFE
@@ -1244,7 +1243,7 @@ setpgid SIGFE
 _setpgid = setpgid SIGFE
 setpgrp SIGFE
 _setpgrp = setpgrp SIGFE
-setpriority NOSIGFE
+setpriority SIGFE
 setpwent NOSIGFE
 _setpwent = setpwent NOSIGFE
 setregid SIGFE
@@ -1369,10 +1368,10 @@ strcspn NOSIGFE
 _strcspn = strcspn NOSIGFE
 strdup SIGFE
 _strdup = strdup SIGFE
-strerror NOSIGFE
-_strerror = strerror NOSIGFE
-strerror_r NOSIGFE
-_strerror_r = strerror_r NOSIGFE
+strerror SIGFE
+_strerror = strerror SIGFE
+strerror_r SIGFE
+_strerror_r = strerror_r SIGFE
 strftime SIGFE
 _strftime = strftime SIGFE
 strlcat NOSIGFE
@@ -1401,7 +1400,7 @@ strrchr NOSIGFE
 _strrchr = strrchr NOSIGFE
 strsep NOSIGFE
 _strsep = strsep NOSIGFE
-strsignal NOSIGFE
+strsignal SIGFE
 strspn NOSIGFE
 _strspn = strspn NOSIGFE
 strstr NOSIGFE
@@ -1434,8 +1433,7 @@ swab NOSIGFE
 _swab = swab NOSIGFE
 symlink SIGFE
 _symlink = symlink SIGFE
-sync NOSIGFE
-_sync = sync NOSIGFE
+sync SIGFE
 sysconf SIGFE
 _sysconf = sysconf SIGFE
 syslog SIGFE
@@ -1479,7 +1477,7 @@ tgamma NOSIGFE
 tgammaf NOSIGFE
 time SIGFE
 timelocal SIGFE
-timegm SIGFE
+timegm NOSIGFE
 _time = time SIGFE
 timer_create SIGFE
 timer_delete SIGFE
@@ -1527,8 +1525,8 @@ _ungetc = ungetc SIGFE
 unlink SIGFE
 _unlink = unlink SIGFE
 unlockpt NOSIGFE
-unsetenv NOSIGFE
-_unsetenv = unsetenv NOSIGFE
+unsetenv SIGFE
+_unsetenv = unsetenv SIGFE
 usleep SIGFE
 _usleep = usleep SIGFE
 utime SIGFE
This page took 0.044234 seconds and 5 git commands to generate.