I have a user space programming question and need some
ideas from networking gurus. I am working on a well known
inet daemon that listens for tcp connections and passes the
descriptor returned by listen() to a child program to
handle in the tcp/wait mode.
It turns out that many child programs error during their
startup and exit without accepting the connection
(linuxconf is one of them). The daemon that listens sees
the descriptor as readable and starts a new child...which
dies. This can loop forever.
The questions are:
1) How can a parent process reliably determine that its
child has indeed accepted the connection? (ptrace is not a
2) Is it possible to tell anything about a connection that
has returned from listen but not yet accepted? For instance
the source IP address? Or checksum? Can recvfrom PEEK into
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!