Unreliable SunOS IPC ?
Gil Tene
devil at TECHUNIX.BITNET
Mon Jul 9 08:42:14 AEST 1990
How can I put up RELIABLE communications between two processes under SunOS
4.0.3 ? I know, I know, signals, sockets, SysV IPC (message queues and
semaphores).... BUT :
I have been trying to synchronize two processes using several different
mechanisms, especialy signals/pause(), message queues, and combinations of
both. All methods SEEM to work, but I occasionaly get deadlocked using ANY
one of them. It seems that either pause() "looses" a signal (even though
the signal handler is executed) sometimes, and that message queues
occasionally "loose" messages. This happens under heavy load, but I have
isolated specific cases, and I have specifically seen one process send a
message, while another stays on waiting for it, and never gets it, as well
as similar behavior with signals/pause().
I am under the impression that IPC under SunOS may not BE reliable, and
may fail under heavy load conditions. After all, when I read any of the
manuals, it just describes functionality, but never says anything about
reliability... Is this TRUE ?!!!
Has anyone got a "totaly fool proof" process sync. set-up written using
ANY of the SunOS tools? are there any Sun guys out there who care to
comment ?
Does anyone out there know of "promised" behaviour rules of signals and/or
message queues. Rules like :
- "pause() will ALWAYS return if a signal occured."
- "When getting a signal, the signal handler
will ALWAYS execute before the pause() function exits."
- "msgrcv() will ALWAYS return when a message
is available on entry , or at any later time."
I would be more than glad to retract any and all of these "accusations" if
someone points out the error of my ways. I am looking for a reliable
solution, that's all...
AdvThanks,
| Gil Tene "Some days it just doesn't pay |
| devil at techunix.technion.ac.il to go to sleep in the morning." |
More information about the Comp.sys.sun
mailing list