[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: libfixposix
From: |
Stelian Ionescu |
Subject: |
Re: libfixposix |
Date: |
Sat, 18 Feb 2017 18:15:22 +0100 |
> Hi,
>
> libfixposix, like gnulib, attempts to bridge over portability problems
> and adds utility data structures.
> https://github.com/sionescu/libfixposix/tree/master/src/lib
>
> Things it has but gnulib doesn't have:
> - <sys/signalfd.h> emulation
> - sendfile
> - <syslog.h>
> - O_CLOEXEC support for sockets (?)
> - A bitset data structure.
It also has a process spawning facility, loosely inspired by posix_spawn.
The goals of libfixposix and gnulib might seem superficially similar, but
they're a bit different:
1) I've written it as support for a CommonLisp
project(https://github.com/sionescu/iolib), and since in Lisp we load shared
libraries through dlopen() and bind to the symbols through dlsym(), libfixposix
must be a shared library and it exposes function wrappers for many C macros,
e.g. CMSG_FIRSTHDR & co.
2) In some cases, like for lfp_spawn(), I want to supersede POSIX functionality
not bridge over differences. At some point I started reimplementing
getaddrinfo() & friends because the differences between GNU Glibc, FreeBSD, and
OSX were driving me mad, but then I just wrote it in Lisp
3) In the Lisp community (L)GPLv[23] are generally considered unacceptable so I
settled on the Boost Public Licence
--
Stelian Ionescu a.k.a. fe[nl]ix
Quidquid latine dictum sit, altum videtur.
- libfixposix, Bruno Haible, 2017/02/18
- Re: libfixposix,
Stelian Ionescu <=