Mario.Wolczko at Eng.Sun.COM
Tue Nov 7 01:54:18 UTC 1995
From: Cameron Elliott <cam at indy.mvbms.com>
Date: Mon, 6 Nov 1995 19:41:16 -0500 (EST)
I am trying to write an HTTP server under Self, and am having a couple
First, the Self VM is receiving a SIGPIPE when my application tries
to write to a pipe that the other end has closed, and this
causes a stack dump, searching through the system it looks like
the Self world doesn't have to much of an interface to the unix
signals mechanism, so it looks like I'm going to have to issue a
or whatever the call is to ignore a signal, and then exec
the Snapshot with my http server. (This is fine)
You can catch sigpipe -- signals are delivered synchronously through
the scheduler. Look at the category `signals' in scheduler for
sigpipe. By default the signal is caught and ignored, so the problem
you're having must be due to I/O failing on the closed pipe, not the
The problems I having are:
I keep getting deadProxyError, and I don't what this is.
After playing with my application a while I keep losing the ability
to connect to a well defined port.
(Somehow something is running somewhere in the Self VM which is
still holding onto the port.)
And when I 'start' my application again, I get a 'EADDRINUSE' error,
even though as far as I can tell, the unixFile is (dead).
I don't have a clue what the solution to the deadProxyError is,
and it seems the key to fixing the EADDRINUSE problem is to find out
what is holding onto my well known port address, and release it.
Hmm, there isn't enough detail here for me to guess at what's
happening. Proxies are explained in the VM reference manual (in the
section about calling foreign functions). Are you basing the http
server on the `socketServer' implementation in the system? That would
be a good place to start. One thing I've observed with the socket
server is that if it crashes, the kernel still thinks the port is in
use for 1 minute after Self has been quit (presumably something is
And hints, clues, or experience is invited.
Sounds like a great project! Keep us posted...
More information about the Self-interest