genode/repos/libports/src/lib/libc
Emery Hemingway c51b4b5742 New VFS plugin for emulating POSIX pipes
Add a new plugin for creating pipes between pairs of VFS handles. It is
intended to replace the libc_pipe plugin, one of the last remaining libc
plugins.

In contrast to the libc_pipe plugin, this plugin defers cross-handle
notification until I/O signal handling rather than block and unblock
readers using a semaphore. This is a performance regression in the case
of multiple threads blocking on a pipe, but shall be an intermediate
mechanism pending renovations within the libc VFS and threading layers.
As a side effect, threads blocked on a pipe might not be resumed until
the main thread suspends and dispatches I/O signals.

The "test-libc_pipe" test has been adjusted to use the VFS pipe plugin
and tests both local pipes and pipes hosted remotely in the VFS server.

Merge adaptations (such as EOF handling, adjustment to VFS/libc
interface changes) by Norman Feske.

Fix #2303
2019-11-19 14:54:13 +01:00
..
internal New VFS plugin for emulating POSIX pipes 2019-11-19 14:54:13 +01:00
patches libc: discharge use of hidden symbols 2019-07-09 08:58:38 +02:00
spec libc: split task.cc into multiple files 2019-11-19 14:10:55 +01:00
atexit.cc Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
component.cc libc: split task.cc into multiple files 2019-11-19 14:10:55 +01:00
dummies.cc libc: local signal delivery via 'kill' 2019-11-19 14:45:38 +01:00
dynamic_linker.cc libc: split task.cc into multiple files 2019-11-19 14:10:55 +01:00
environ.cc Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
errno.cc Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
execve.cc libc: shebang handling for execve 2019-11-19 14:45:38 +01:00
exit.cc libports: avoid using deprecated APIs 2019-01-30 13:49:55 +01:00
fd_alloc.cc libc: unify use of namespaces 2019-11-19 14:10:55 +01:00
file_operations.cc libc: improve dup/dup2 in vfs_plugin 2019-11-19 14:10:55 +01:00
fork.cc libc: increase default quota of forked processes 2019-11-19 14:54:13 +01:00
gai_strerror.cc Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
getpwent.cc libc: reimplement passwd handling 2019-11-19 14:10:55 +01:00
getrandom.cc libc: unify use of namespaces 2019-11-19 14:10:55 +01:00
issetugid.cc libc: silence common not implemented warnings 2018-02-16 08:42:30 +01:00
kernel.cc libc: defer clone ack after FD initialization 2019-11-19 14:54:12 +01:00
legacy.cc libc: remove global watch() function 2019-11-19 14:10:55 +01:00
libc_mem_alloc.cc libc: unify use of namespaces 2019-11-19 14:10:55 +01:00
log2.c Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
malloc.cc libc: unify use of namespaces 2019-11-19 14:10:55 +01:00
nolocale.cc Libc: update port to Freebsd 12 2019-05-27 14:46:53 +02:00
plugin_registry.cc libc: execve 2019-08-28 14:19:45 +02:00
plugin.cc libc: unify use of namespaces 2019-11-19 14:10:55 +01:00
poll.cc libc: honor poll() event flags POLLRDNORM etc. 2019-11-19 14:23:55 +01:00
pread_pwrite.cc libc: unify use of namespaces 2019-11-19 14:10:55 +01:00
progname.cc Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
pthread_create.cc libc: unify use of namespaces 2019-11-19 14:10:55 +01:00
pthread.cc libc: suspend/resume in pthread mutex lock/unlock 2019-11-19 14:54:13 +01:00
readv_writev.cc libc: unify use of namespaces 2019-11-19 14:10:55 +01:00
rlimit.cc libc: rlimit add address-space size + number fds 2018-05-30 12:26:20 +02:00
rwlock.cc libc: unify use of namespaces 2019-11-19 14:10:55 +01:00
select.cc libc: cancel select when POSIX signal occurs 2019-11-19 14:45:36 +01:00
semaphore.cc libc: fix and cleanup pthread mutexes 2019-11-19 14:23:57 +01:00
signal.cc libc: local signal delivery via 'kill' 2019-11-19 14:45:38 +01:00
sleep.cc libc: unify use of namespaces 2019-11-19 14:10:55 +01:00
socket_fs_plugin.cc libc: unify use of namespaces 2019-11-19 14:10:55 +01:00
socket_operations.cc libc: unify use of namespaces 2019-11-19 14:10:55 +01:00
syscall.cc libc: support syscall(SYS_thr_self,...) 2018-05-30 13:36:07 +02:00
sysctl.cc libc: unify use of namespaces 2019-11-19 14:10:55 +01:00
time.cc libc: eliminate atexit handler for 'Rtc' 2019-11-19 14:45:38 +01:00
vfs_plugin.cc New VFS plugin for emulating POSIX pipes 2019-11-19 14:54:13 +01:00