diff options
-rw-r--r-- | libpipe/pipe.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libpipe/pipe.c b/libpipe/pipe.c index f9300e7c..b7ee8515 100644 --- a/libpipe/pipe.c +++ b/libpipe/pipe.c @@ -316,7 +316,11 @@ pipe_send (struct pipe *pipe, int noblock, void *source, mach_port_t *ports, size_t num_ports, size_t *amount) { - error_t err = 0; + error_t err; + + /* Nothing to do. */ + if (data_len == 0 && control_len == 0 && num_ports == 0) + return 0; err = pipe_wait_writable (pipe, noblock); if (err) |