From a797093ccb12a2dd93ce53eff1a759a607422735 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Mon, 15 Aug 2022 17:09:11 +0100 Subject: [PATCH] prefork-interp: Have protocol_exchange return an error message Signed-off-by: Ian Jackson --- cprogs/prefork-interp.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cprogs/prefork-interp.c b/cprogs/prefork-interp.c index 8e4b03c..91ab3cb 100644 --- a/cprogs/prefork-interp.c +++ b/cprogs/prefork-interp.c @@ -280,12 +280,12 @@ static bool was_eof(FILE *call_sock) { return feof(call_sock) || errno==ECONNRESET; } -// Does protocol exchange. Returns 0 if OK, -1 if peer was garbage. -static int protocol_exchange(FILE *call_sock) { +// Does protocol exchange. Returns 0 if OK, error msg if peer was garbage. +static const char *protocol_exchange(FILE *call_sock) { char ack; size_t sr = fread(&ack, sizeof(ack), 1, call_sock); if (sr != 1) { - if (was_eof(call_sock)) return -1; + if (was_eof(call_sock)) return "initial monitor process quit"; diee("read() ack byte"); } if (ack != '\n') die("got ack byte 0x%02x, not '\n'", ack); @@ -316,7 +316,7 @@ static FILE *connect_existing(void) { call_sock = call_sock_from_fd(fd); fd = -1; - if (protocol_exchange(call_sock) < 0) + if (protocol_exchange(call_sock)) goto x_garbage; return call_sock; -- 2.30.2