Re: Directory-change notification (was Re: Desktop)
- From: Owen Taylor <otaylor redhat com>
- To: Alan Cox <alan lxorguk ukuu org uk>
- Cc: zunino cli di unipi it (Roberto Zunino), loban enigma caltech edu (Loban Rahman), gnome-list gnome org, gnome-devel-list gnome org
- Subject: Re: Directory-change notification (was Re: Desktop)
- Date: 12 Feb 2000 18:42:23 -0500
Alan Cox <alan@lxorguk.ukuu.org.uk> writes:
> > is that POSIX RT signals have a nasty API, and in fact, systems of
> > messages from the kernel will inevitably have a nasty API, simply
> > because you can't allocate an arbitrary-sized queue in the kernel and
> > have to to deal with the possibility of overflow.
> >
> > A possibility that occurs to me for dealing with that problem of
> > message-queue overflows is to have a user-space daemon that is
>
> We already handle queue overflows. You get a signal with no rt info. That
> tells you 'something happened, your guess what'
Well, yes. I was proposing that a user-space daemon could do the
guessing, encapsulate the signal magic, and provide a compatibility
layer .
Though, actually, it looks very much to me like the queue-overflow
mechanism is broken in 2.3.44, though I haven't actually tested it
with a 2.3 kernel...
The way I understand it, in 2.2.x the way it worked was that if
the queue overflowed while queueing a real-time signal from
async IO, then it would try again with SIGIO, which would
simply get marked in the mask of pending signals.
The comment in fcntl.c is :
/* Queue a rt signal with the appropriate fd as its
value. We use SI_SIGIO as the source, not
SI_KERNEL, since kernel signals always get
delivered even if we can't queue. Failure to
queue in this case _should_ be reported; we fall
back to SIGIO in that case. --sct */
But send_sig_info now tries to queue at least one of every signal,
and if it can't returns an error. So, the SIGIO also gets dropped
on the floor, and, as far as I can see, there is no way of detecting
the overflow at all.
(The amount of documentation on the Linux extensions in this
area makes GTK+ look good, so I might be missing something...)
Regards,
Owen
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]