[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

making define-server work

Okay, this is probably really dumb.  I've never used the Generic Network
System before, so bear with me.

I defined the following server and protocol:

(net:define-server :test (:medium :byte-stream :stream stream :no-close nil)
  (let ((msg (read-line stream)))
    (setq *most-recent-message* msg)))

(net:define-protocol :test (:send-test :byte-stream)
  (:invoke-with-stream-and-close (stream msg)
    (write-line msg stream)))

I also modified the namespace, and added the Chaos handler, as documentation
says.  The problem is that when I invoke the service, both the server process
and the user process hang in "Chaos Finish" state, forever.  

I've spent a day working on this, and haven't got a clue as to why this
is happening, nor what to do to remedy the situation.  Seems to me that
both sides are waiting on the other side to close the connection.  And
yet a :close message sent to the stream still performs a :finish
on the stream first.  Forcing a :close on both sides doesn't work,
nor does sending an :eof first.

Any help would be appreciated.  I know this is probably a very trivial
problem for everybody.


dan haug
Internet: haug@austin.lockheed.com
UUCP:     ut-emx!lad-shrike!aihaug