Path: utzoo!utgpu!attcan!uunet!peregrine!elroy!ames!lll-lcc!wiltzius
From: wiltzius@lll-lcc.llnl.gov (Dave P. Wiltzius)
Newsgroups: comp.unix.wizards
Subject: Help re "system processes"
Message-ID: <1863@lll-lcc.llnl.gov>
Date: 12 Aug 88 23:04:49 GMT
Reply-To: wiltzius@lll-crg.UUCP (Dave P. Wiltzius)
Organization: CRG, Lawrence Livermore Labs
Lines: 30



What I would like to do is write a kernel routine (i.e. a routine
that is part of the UNIX system) that will receive and subsequently
consume UDP packets destined for a certain UDP port.

The problem is that in "udp_input" the packet is appended to the
socket's receive buffer and then routine "sorwakeup" is called.
Eventually, this results in all processes waiting on this socket
channel to be awakened.  However, I want my kernel routine to
be notified instead and it will then take the data received.

What I am investigating now is the use of "system processes".
Apparently these are kernel routines that are invoked (routine
sysproc.sp_func) when an event occurs (which "wakes" them).
Looking at the Ultrix source I am getting clues as to what
is going on (are they always declared "dead" after one invokation?).

Am I heading in the right direction?  Anyone want to give me
a tutorial on "system processes", Ultrix or whatever?  Would
appreciate the help.  Please phone if you feel the topic would
be more appropriately addressed over that media.  I'll be off
to SIGCOMM next week 16-19.

Thanks much.
  Dave (wiltzius@lll-lcc.llnl.gov)
  Network Systems Division
  Lawrence Livermore Nat'l Lab

  (415) 422-1551