Unix domain (IPC) sockets implementation

Daniel Kochmański daniel at turtleware.eu
Thu Aug 18 09:08:47 UTC 2016


Hey,

Chun Tian (binghe) writes:

> Hi Marcin,
>
> The main problem is that, no user is asking for this feature and
> really rare users need it.  (P. S. CLX or CLIM could have such needs,
> because X11 can be communicated through Unix domain sockets)

Yes, and potential Wayland protocol implementation. I think that the
main benefit of implementing Unix domain sockets in usocket is to have a
complete socket interface in Common Lisp (ie to not depend on system
libraries like libfixposix, what is a case with iolib).
>
> Besides those links that you gave, before 2010, I myself have also
> made a LispWorks version of Unix domain socket support as part of my
> old project “LispWorks-UDP”:
>
> https://sourceforge.net/p/cl-net-snmp/code/HEAD/tree/lispworks-udp/trunk/unix.lisp
>
> So ... if you want to help, using all current available code plus your
> own, that will be mostly welcome :)
>
> Regards,
>
> Chun Tian (binghe)

Best regards,
Daniel
>
>> Il giorno 16/ago/2016, alle ore 21:02, Marcin Moskal <mmos at student.agh.edu.pl> ha scritto:
>> 
>> As far as I know usocket does not provide implementation of Unix
>> domain sockets, nonetheless SBCL[1], CCL[2] and ECL[3] (and maybe
>> other) implement them. After doing some research I see that feature in
>> usocket is desired (see: usocket-devel question[4], another
>> usocket-devel question[5]), even partially implemented[6] by @tmccombs.
>> 
>> I would like to try to implement this feature without breaking the
>> current API. It could be done by assuming that the ``host'' parameter in
>> socket-connect function takes pathname -- indicating we mean the *Unix*
>> kind of socket. In this particular case we will ignore the ``port''
>> portion(or signal condition when it is not ``nil'').
>> 
>> I am looking for comments and advice.
>> 
>> [1] http://www.sbcl.org/manual/#Local-_0028Unix_0029-Domain-Sockets
>> [2] http://ccl.clozure.com/manual/chapter8.1.html
>> [3] https://gitlab.com/embeddable-common-lisp/ecl/blob/develop/contrib/sockets/sockets.lisp#L865
>> [4] https://mailman.common-lisp.net/pipermail/usocket-devel/2008-August/000198.html
>> [5] https://mailman.common-lisp.net/pipermail/usocket-devel/2009-February/000251.html
>> [6] https://github.com/usocket/usocket/compare/master...tmccombs:unix-sockets
>> 
>> --
>> Regards,
>> Marcin Moskal
>> 
>> 


-- 
Daniel Kochmański ;; aka jackdaniel | Poznań, Poland
TurtleWare - Daniel Kochmański      | www.turtleware.eu

"Be the change that you wish to see in the world." - Mahatma Gandhi



More information about the usocket-devel mailing list