Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!rutgers!ucsd!ucbvax!decwrl!pyramid!prls!philabs!ttidca!mb From: mb@ttidca.TTI.COM (Michael Bloom) Newsgroups: comp.unix.wizards Subject: Re: Help re "system processes" Message-ID: <3047@ttidca.TTI.COM> Date: 14 Aug 88 01:58:29 GMT References: <1863@lll-lcc.llnl.gov> Reply-To: mb@ttidca.tti.com (Michael Bloom) Organization: Citicorp/TTI, Santa Monica Lines: 16 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. Unless you need a user context, how about comparing against the "certain UDP port" and if the compare succeeds, post a software interrupt in place of the sowakeup? If you're on a vax, you've still got plenty of free software interrupt levels (three of which are between splsoftclock and splnet).