Re: SIGURG

Matti Aarnio (matti.aarnio@sonera.fi)
Fri, 12 Nov 1999 16:13:25 +0200


On Thu, Nov 11, 1999 at 10:52:44PM -0800, Jay Thorne wrote:
> According to my Database vendor, SIGURG is not reliable on Linux systems. I

Depends on how they define it, and how old systems they have
tried..

> don't have the knowledge to know how SIGURG is supposed to work, but
> apparently its only delivered once for a given process on a linux system,
> while it is delivered as often as signaled for a Solaris system. Does this
> make *any* sense? I had a read thru the code in the kernel around signals,
> but could not see any place where the URG signal is handled differently from
> say, a WINCH or anything else.

Considering only signals which a process can catch and process.
(E.g. not about KILL or STOP or CONT ...)

*ANY* classical signal in *ANY* UNIX is "unrealiable". You will
get them, unless given signal is already in execution in which
case no more of same signal are sent while that execution lasts..

Once previous signal S processing has completed, same process can
receive again a signal S.

That is, you will get SIGURG, but you will not get guaranteed
info that there was only one SIGURG coming to your way.
(There may have been dozens during that processing.)

> Can anyone explain to me the use/intended use of the URG signal. I
> personally had never heard of it, but my database vendor claims that its not
> reliable on Linux. They are using it to deliver "Stop sending me data" from
> api clients to their database.

"URG" -- It relates to IO events - some platforms call it SIGPOLL.
It does not carry supplementary data, e.g. "who" (which fd) caused
this event.

There are then things called Queued Signals, which (to certain
extent) will guarantee delivery of the signal in question even
while same signal is already blocking -- the queue is not of
infinite length.. They can also deliver supplementary data.

At this list there has been recent talk about how to poll
16000 fd's at single process - effectively.

> --
> Jay Thorne jay@result.com Geek at large jthorne@globalmedia.com

/Matti Aarnio <matti.aarnio@sonera.fi>

-
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/