From owner-freebsd-hackers@FreeBSD.ORG Sat Apr 7 21:36:15 2012 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DCE571065676 for ; Sat, 7 Apr 2012 21:36:15 +0000 (UTC) (envelope-from dudu@dudu.ro) Received: from mail-wi0-f172.google.com (mail-wi0-f172.google.com [209.85.212.172]) by mx1.freebsd.org (Postfix) with ESMTP id 631128FC23 for ; Sat, 7 Apr 2012 21:36:15 +0000 (UTC) Received: by wibhj6 with SMTP id hj6so1181807wib.13 for ; Sat, 07 Apr 2012 14:36:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dudu.ro; s=google; h=date:from:to:cc:message-id:in-reply-to:references:subject:x-mailer :mime-version:content-type:content-transfer-encoding :content-disposition; bh=RgihElmKKhuscJWUOmQWbnAXR9jzfnvVX47T4wHBOyU=; b=IoCb4SVU0ymyjpXDQZ+bt9VRlqawOHYCRWu7G9u9LXN5ppe8cvs8Z583OWGdGQZG8B dbXRlLWBcLrAZlFs4fPUYrkhuTnqSgb/2Tm3rI2Hib93lPSlr7iJKV9qELrzz1TyHB+f 65eSQwEjuoEzEOLTLSuHyUyJs6cwkgh71ETiM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=date:from:to:cc:message-id:in-reply-to:references:subject:x-mailer :mime-version:content-type:content-transfer-encoding :content-disposition:x-gm-message-state; bh=RgihElmKKhuscJWUOmQWbnAXR9jzfnvVX47T4wHBOyU=; b=CTIn1iDQxWgfLBF2xc3L3v+Aa6Cq3hFun+hjaL2uYyFrIfCuwc8GPz6XLhH6rC/GFt NmDPzZTRAWxAAyL/Jbl3X0V/v1NVbbukFLV3uyCgJDsFbI4528Jl8D3w9KjOtrPOIOvj vVVftxFkdDOBqj/dyhNS4nV+6Xiw5OanJSNfYUIeE+w42pKpM0291/aQPFcr+f4JQwm/ afXFn6yeIBFVVBrYhgoMH4ad1rm/497nw2P9mb9xRtFLbJphOvAhJOHLI7ePdTfDTNyz I4d4jfmMpnp9xt8Iu4PuPO7Tn/6YYhr/6WQacRi/WZ2jd21AV09BUBix8E06ETArQjO0 w5HA== Received: by 10.216.139.12 with SMTP id b12mr1390241wej.4.1333834574534; Sat, 07 Apr 2012 14:36:14 -0700 (PDT) Received: from LesPaul.local ([82.76.253.74]) by mx.google.com with ESMTPS id j3sm28360193wiw.1.2012.04.07.14.36.12 (version=TLSv1/SSLv3 cipher=OTHER); Sat, 07 Apr 2012 14:36:13 -0700 (PDT) Date: Sat, 7 Apr 2012 22:36:08 +0100 From: Vlad Galu To: Ivan Voras Message-ID: <0D2E65B3D0AB4A6483C26A613FC73F83@dudu.ro> In-Reply-To: References: X-Mailer: sparrow 1.5 (build 1043.1) MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline X-Gm-Message-State: ALoCoQlNtcr5STJ6/2Qj5ypDDvOhyekISFsnmHzPDNfVpkvADxPAGmc9oKy75px9w7vmOGblEmEI Cc: freebsd-hackers Subject: Re: Socket buffer usage X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Apr 2012 21:36:15 -0000 This might not exactly be what you want, but struct kevent has a member called "data" which, for sockets and pipes, returns the number of available bytes to read (or write) for EVFILT_READ (or EVFILT_READ) events. -- Good, fast and cheap: pick any two. On Saturday, April 7, 2012 at 10:16 PM, Ivan Voras wrote: > Hi, > > I'm tracking down an obscure bug in my userland program and it might > have something to do with the way I write&read data through a (Unix > domain) socket. I'm setting SO_SNDBUF and SO_RCVBUF, and what I'm > looking for is some way to query the amount of TX & RX buffered / free > data on a socket. Is there something I can use? I'll even accept > inspecting kernel structures if explained in detail and can be done on > a running system. > > Alternatively, is there anything else which could cause poll(2) with > POLLOUT on a socket to return no events ready on such a socket? (my > expectation being that a socket is always ready to be written to if > there is buffer space free...). > _______________________________________________ > freebsd-hackers@freebsd.org (mailto:freebsd-hackers@freebsd.org) mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org (mailto:freebsd-hackers-unsubscribe@freebsd.org)"