Re: No SIGIO for fifos in the file system? (gpm vs. xfree86-4.0)

From: Manfred Spraul (manfreds@colorfullife.com)
Date: Tue Apr 25 2000 - 11:40:01 EST


"Theodore Y. Ts'o" wrote:
>
> From: "Adam J. Richter" <adam@yggdrasil.com>
> Date: Tue, 25 Apr 2000 01:07:45 -0700
>
> A number of people trying to use gpm with XFree86-4.0 have
> found their mouses not responding. According to a contributed
> patch included with the latest gpm, the problem is that XFree86-4.0
> now relies on SIGIO to detect mouse motion, and the Linux kernel does
> not support SIGIO for FIFO's in the file system, such as /dev/gpmdata.
>
> .... I think the correct fix is either to implement SIGIO for
> FIFO's in Linux or use unix domain socket in the file system.
> What I would like to know is: is there some reason (such as some
> posix standard or something) why SIGIO does not work on file system
> fifo's, or is it something that nobody has gotten around to impelementing?
>
> I agree, that's the correct fix, and it probably just hasn't happened
> because no one's gotten one of those "round tuit"'s (or any need for
> it). It shouldn't be particular hard to add SIGIO support, either....
>
I'll try to write a patch [but not this week]:

fasync_helper() uses cli() for the synchronization, and I have some
doubts that this is really SMP safe:
* it seems that the keyboard drivers use tasklets, and cli() doesn't
stop tasklets.
* someone might call kill_fasync() from process context, then cli() is
not enough.

fasync outside net should be fairly rare, I guess one global rwlock is
sufficient.

--
	Manfred

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Apr 30 2000 - 21:00:09 EST