guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: fibers on a unix socket


From: tomas
Subject: Re: fibers on a unix socket
Date: Thu, 31 Jan 2019 23:20:33 +0100
User-agent: Mutt/1.5.21 (2010-09-15)

On Thu, Jan 31, 2019 at 05:43:42PM +0100, Catonano wrote:
> Hello
> 
> in Fibers there's an example of a client connecting to a server
> 
> I'd like to do the same thing BUT in my case the server provides a unix
> socket.
> 
> It's a unix socket provided by Postgresql. On Ubuntu it's here
> /var/run/postgresql/.s.PGSQL.5432
> 
> I'm wondering about these 3 lines the fibers client uses
> 
>     ;; Disable Nagle's algorithm.  We buffer ourselves.
>     (setsockopt port IPPROTO_TCP TCP_NODELAY 1)

The one above probably doesn't make sense for Unix domain sockets
(it is specific to IP sockets and it is meant to delay sending
a small packet in the hope that more stuff arrives, to avoid lots
of tiny packets)

>     (fcntl port F_SETFL (logior O_NONBLOCK (fcntl port F_GETFL)))

while this one does make sense (as Chris notes): you want your other
fibres to do their happy dancing instead of blocking the whole process
in the read.

>     (setvbuf port 'block 1024)
> 
> Can a unix socket be non blocking ?

Yes, they can be both. In this respect they are not different from
IP sockets.

Cheers
-- t

Attachment: signature.asc
Description: Digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]