On Mon, Jul 23, 2001 at 02:58:09PM -0700, Brent Phillips wrote:
> I'm glad to hear I'm not insane, or a really bad programmer... :0
> 
> I've traced my case of this misfortune back to a call to close a socket. 
> When the sockets are left open indefinitely, the app works fine; when 
> closed, it bombs out thinking that there are no threads to schedule. As 
> with Shawn's app, the thread stack sizes are far bigger than they really 
> need to be. Maybe this will trigger some ideas as to what is wrong?
> 

After looking at pth_sched.c, here's what I think is happening:

All threads are sitting in the wait queue waiting for various events to
happen, and the ready queue is empty. When pth_scheduler() tries to get the
next ready thread to run, there aren't any, and instead of checking the wait
queue for events that have occurred again (By calling
pth_sched_eventmanager()), it aborts. I'm going to try changing that bit of
the scheduler and see if it helps.

-- 
Shawn Wagner
[EMAIL PROTECTED]
______________________________________________________________________
GNU Portable Threads (Pth)            http://www.gnu.org/software/pth/
User Support Mailing List                            [EMAIL PROTECTED]
Automated List Manager (Majordomo)           [EMAIL PROTECTED]

Reply via email to