Hi Noah,

Noah Lavine <noah.b.lav...@gmail.com> skribis:

> I've thought for a while that if I had time (which I know I won't) I would
> make a module called (linux) with bindings for non-POSIX Linux kernel
> features. What do you think of this idea? If so, what do you think of
> putting sendfile there and expanding it with other functions as we need
> them?

I’ve thought about it, but ended up with making sendfile work whether or
not the syscall is available (just like glibc does, after all).

So for this particular case, I’d rather keep it in the global name
space.  There’s also the untold argument that even if sendfile(2) is
unavailable, the loop written in C is going to be faster than the
equivalent bytecode.

FWIW, I plan to integrate the Linux bindings I wrote for “boot-to-Guile”
eventually:

  
http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/patches/guile-linux-syscalls.patch

These are not defined in POSIX, but apart from the Linux module
syscalls, they (that is, mount(2) and the networking ioctls) happen to
be supported by glibc on all 3 kernels, and also by other libcs.  Thus,
I’d rather keep them in the global name space as well.

WDYT?

Thanks,
Ludo’.

Reply via email to