From: jun (Christoph "George" Jung)

Subject: ACL 4.2 Question: Nonblocking I/O and Streams

Date: 1996-3-18 4:23


Sorry, If you have received this question more than once !


------- Forwarded Message

X-Mailer: exmh version 1.6 4/21/95
To: <cs.columbia.edu, at acl> <ai.sri.com at common-lisp>
Subject: ACL 4.2 Question: Nonblocking I/O and Streams
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Date: Wed, 13 Mar 96 13:03:39 +0100
From: jung

Hello,

I have got a question concerning nonblocking I/O and 
bidirectional-terminal-streams in Allegro CL 4.2 . We have here a 
client/server architecture with the server on the Lisp side.
Therefore, there is a socket attached to the stream and it is set to
do nonblocking I/O. 

Communication from the client to the server works - the (listen) command
allows to check, wether the Lisp is allowed to read the stream.

The connection from the server to the client but is broken. Seems like the
default methods under stream:stream-write-char and 
stream:stream-finish-output/stream:stream-force-output do not listen
wether they are allowed to write on the stream --- the communication blocks.

Sometimes, it is possible to interrupt the Lisp process, to write
some character to the stream and then to force-output with the effect of
unblocking the connection again.

Do you have any idea what goes wrong in our approach ? Are there perhaps
special methods that care about non-blocking output ?

Thanks,


Christoph "George" Jung         research assistant
DFKI GmbH                       dept. computational linguistics
e-mail:                         <dfki.uni-sb.de at jung>
snail-mail:                     Stuhlsatzenhausweg 3, 66123 Saarbruecken
phone:                          0681-302-{5302,5303}         
public-key:                     finger <dfki.uni-sb.de at jung>
- ------------------------------------------------------------------------
"life is not impossible, but its exponentially difficult  and  sometimes  
worse"  - M.Fitting
- ------------------------------------------------------------------------


                     




------- End of Forwarded Message