Post by Bruno Haible
libfixposix, like gnulib, attempts to bridge over portability problems
and adds utility data structures.
- <sys/signalfd.h> emulation
- 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 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.