* sigproc.cc (sig_send): Temporarily set priority to highest while sending a

signal.
This commit is contained in:
Christopher Faylor 2000-02-29 05:47:17 +00:00
parent adbc0b0aa7
commit b528f63495
2 changed files with 10 additions and 0 deletions

View File

@ -1,3 +1,8 @@
Tue Feb 29 00:46:09 2000 Christopher Faylor <cgf@cygnus.com>
* sigproc.cc (sig_send): Temporarily set priority to highest while
sending a signal.
Mon Feb 28 11:23:29 2000 Christopher Faylor <cgf@cygnus.com>
* pinfo.cc (set_myself): Add build date to strace output.

View File

@ -776,7 +776,10 @@ sig_send (pinfo *p, int sig)
/* Notify the process that a signal has arrived.
*/
int prio;
SetLastError (0);
prio = GetThreadPriority (GetCurrentThread ());
(void) SetThreadPriority (GetCurrentThread (), THREAD_PRIORITY_TIME_CRITICAL);
if (!ReleaseSemaphore (thiscatch, 1, NULL) && (int) GetLastError () > 0)
{
/* Couldn't signal the semaphore. This probably means that the
@ -826,6 +829,8 @@ sig_send (pinfo *p, int sig)
rc = WAIT_OBJECT_0;
}
SetThreadPriority (GetCurrentThread (), prio);
if (rc == WAIT_OBJECT_0)
rc = 0; // Successful exit
else