From owner-freebsd-hackers Tue May 21 21:04:30 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id VAA07489 for hackers-outgoing; Tue, 21 May 1996 21:04:30 -0700 (PDT) Received: from genesis.atrad.adelaide.edu.au (genesis.atrad.adelaide.edu.au [129.127.96.120]) by freefall.freebsd.org (8.7.3/8.7.3) with ESMTP id VAA07479 for ; Tue, 21 May 1996 21:04:25 -0700 (PDT) Received: from msmith@localhost by genesis.atrad.adelaide.edu.au (8.6.12/8.6.9) id NAA01760; Wed, 22 May 1996 13:48:07 +0930 From: Michael Smith Message-Id: <199605220418.NAA01760@genesis.atrad.adelaide.edu.au> Subject: Re: Socket library question To: stevenf@thetics.europa.com (Steven Frank) Date: Wed, 22 May 1996 13:48:07 +0930 (CST) Cc: msmith@atrad.adelaide.edu.au, freebsd-hackers@freebsd.org In-Reply-To: from "Steven Frank" at May 21, 96 07:55:18 pm MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Steven Frank stands accused of saying: > > The sleep in question that is not getting woken up is in the sbwait() > function in kern/uipc_socket2.c. It waits on the sb_cc field of the > receiving socket buffer. (So it should continue when more network data > comes in, I assume.) More data is coming in, but the sleep is not broken. I'd start by tracing your sleep/wake activity to make sure that the wakeup is actually happening. In sbwait() make sure that SB_WAIT is not set in sb_flags before you set it (you may already be waiting on the socket buf), then check that sowakeup is called when more data arrives for the socket. > > You may have missed the code that's responsible for the appropriate wakeup. > > I am fairly sure the wakeup is in there, but it is most likely being > blocked from execution somehow. If you're pushing datagrams in from the bottom end using PPP I would normally expect that the wakeup would be called as required... > I should clarify this point, actually... The code I used for the > base socket library and TCP stack is the "bsd-sources" located on > munnari.oz.au. The PPP interface came from NetBSD 1.1. So, Hmm, dare I ask why you didn't just grab it all from one place? It's concievable (but unlikely) that the NetBSD ppp code has been bent to work with some other NetBSD mod that is canting your port. I don't know, not being a NetBSD guru. > Thanks for the help. Hope my explanation wasn't too muddled. :) Not at all. Best of luck! -- ]] Mike Smith, Software Engineer msmith@atrad.adelaide.edu.au [[ ]] Genesis Software genesis@atrad.adelaide.edu.au [[ ]] High-speed data acquisition and (GSM mobile) 0411-222-496 [[ ]] realtime instrument control (ph/fax) +61-8-267-3039 [[ ]] Collector of old Unix hardware. "Where are your PEZ?" The Tick [[