From 6cf50dd803792eebc8d0dd24c189044d949ac11e Mon Sep 17 00:00:00 2001 From: David Sheets Date: Wed, 14 Dec 2016 14:40:33 +0000 Subject: [PATCH] transfused: replace brittle event pid writing with write_exactly Signed-off-by: David Sheets --- alpine/packages/transfused/transfused.c | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/alpine/packages/transfused/transfused.c b/alpine/packages/transfused/transfused.c index 2f01a739c..33df672d8 100644 --- a/alpine/packages/transfused/transfused.c +++ b/alpine/packages/transfused/transfused.c @@ -744,23 +744,14 @@ void write_pid(connection_t *connection) { pid_t pid = gettid(); char *pid_s; - int pid_s_len, write_count; + int pid_s_len; if (asprintf(&pid_s, "%lld", (long long)pid) == -1) die(1, connection->params, "Couldn't allocate pid string", ""); pid_s_len = strlen(pid_s); - /* TODO: check for socket write conditions e.g.EAGAIN */ - write_count = write(connection->sock, pid_s, pid_s_len); - if (write_count < 0) - die(1, connection->params, "Error writing pid", ""); - - /* TODO: handle short writes */ - if (write_count != pid_s_len) - die(1, connection->params, NULL, - "Error writing pid %s to socket: only wrote %d bytes", - pid_s, write_count); + write_exactly("pid", connection->sock, pid_s, pid_s_len); free(pid_s); }