From 2588cd19e83ff454a7fc99e68f1d612945504b72 Mon Sep 17 00:00:00 2001 From: Richard Braun Date: Mon, 30 Jun 2014 21:28:19 +0200 Subject: libpipe: fix spurious calls to pipe_send * libpipe/pipe.c (pipe_send): Skip processing if there is nothing to send. --- libpipe/pipe.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'libpipe/pipe.c') 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) -- cgit v1.2.3