HP3000-L Archives

February 1996, Week 1

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Dan Hollis <[log in to unmask]>
Reply To:
Dan Hollis <[log in to unmask]>
Date:
Mon, 5 Feb 1996 17:24:00 PST
Content-Type:
text/plain
Parts/Attachments:
text/plain (66 lines)
>> This doesn't solve my problem ;) The problem is that if the program has an
>> outstanding nowait read on a message file, it *prevents* socket errors
>from
>> being returned until the message file read finishes. Putting an interrupt
>> handler on the message file would solve nothing.. ;(
>Well, this may or may not solve your problem, but you might try it anyway --
>Basically, there is no EXPLICIT "nowait" read against the message file, so
>this "problem" may not occur.  The message file is opened normally, but
>interrupts are armed against the message file.  A "normal" FREAD is posted
>against the message file, but since interrupts are enabled, the FREAD must
>be completed by an IOWAIT or IODONTWAIT call.  I'd be interested in finding
>out how this turns out, if you have the time to try it.
 
What is bizarre is that if there's a pending FREAD, IOWAIT will *STILL
RETURN READ SOCKET DATA*, but it *WON'T RETURN SOCKET DISCONNECTS*. It's
like pending FREADS block any IPC errors from being returned.
 
Example 1:
==========
Issue nowait I/O on socket
IOWAIT
socket read
IOWAIT
socket read
IOWAIT
...
... minutes pass
...
... socket disconnects
error returned (socket has disconnected)
 
Example 2:
==========
Issue Nowait I/O on socket
Issue Nowait I/O on message file
IOWAIT
socket read
IOWAIT
socket read
IOWAIT
socket read
IOWAIT
...
... minutes pass
...
... socket disconnects
...
... minutes pass
...
file read
IOWAIT
error returned (socket has disconnected)
 
My temporary solution is to set a 1 second read timeout on the socket, and
then do an IPCCheck on the socket descriptor on every read timeout. Totally,
utterly hokey, and it sucks. But until HPRC finds a solution, it's the only
band-aid I've got. ;(
 
Eero, have you got any ideas? ;)
 
-Dan
.----------------------------------------------.
|Dan Hollis -- Pharmacy Computer Services, Inc.|
[log in to unmask]      -     (503)476-3139|
`----------------------------------------------'

ATOM RSS1 RSS2