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]