[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Sat, 18 Feb 2017 18:15:22 +0100
> libfixposix, like gnulib, attempts to bridge over portability problems
> and adds utility data structures.
> 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 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 <=