[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Help-smalltalk] Good/bad news on the segmentation violation and hangups

From: Paolo Bonzini
Subject: [Help-smalltalk] Good/bad news on the segmentation violation and hangups
Date: Thu, 7 Feb 2002 11:01:04 +0100

Good news: I've found the cause of the segmentation violation: it's two
stupid mistakes on my part.  1) I was not protecting well enough the queue
of semaphores to be signalled and this caused sharing problems.  2) I was
stupidly reallocating the array of `struct pollfd's under the
filePollingHandler's feet.  Both of these are fixed.

Bad news: the cause of the hangups is much worse than I thought: Linux does
not generate SIGIO when output is possible for tty devices!!!  The relevant
Linux source code files (in my 2.4.5 kernel) are drivers/char/n_tty.c, where
kill_fasync is *never* called with a third parameter of POLL_OUT (while the
routine that implements poll(2) *does* return POLLOUT|POLLWRNORM. I guess
the only possibility is to do output by polling repeatedly, and input using

|_  _  _ __
|_)(_)| ),'
------- '---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]