lkml.org 
[lkml]   [2003]   [Feb]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectmissing a wakeup from pending signal
I am finding that my kernel thread will occasionally
fail to wake up eventhough it has a signal pending.
The thread is calling wait_event_interruptible and
waiting for SIGIO (from the sg driver). I only see it
fail to wake up when performing intensive sg activity.
From kdb, the task shows the signal was delivered
(sigpending==1 and pending.signal.sig[0]==0x10000000).

So, I was just wondering if anyone was aware of a fix
(I'm using 2.4.18 on i386). A google search failed to
turn up anything obvious. My code is pretty basic
stuff but here the wait loop just in case:

for (;;) {
gotsig = wait_event_interruptible();
if (gotsig) {
sigemptyset(&set);
spin_lock_irq(&current->sigmask_lock);
signum = dequeue_signal(&set, &info);
spin_unlock_irq(&current->sigmask_lock);
if (signum != SIGIO)
break;
process_io();
}
}

Please CC me in the response. Thanks in advance.

__________________________________________________
Do you Yahoo!?
Yahoo! Shopping - Send Flowers for Valentine's Day
http://shopping.yahoo.com
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:33    [W:0.025 / U:1.692 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site