From ce1b254834788eca7546b8f720cdabdeb0f6fe8f Mon Sep 17 00:00:00 2001 From: Reiner Herrmann Date: Sat, 8 Aug 2020 14:26:57 +0200 Subject: annotate some functions as non-returning (#3574) --- src/firemon/procevent.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'src/firemon/procevent.c') diff --git a/src/firemon/procevent.c b/src/firemon/procevent.c index 7dd08444e..45964d3a2 100644 --- a/src/firemon/procevent.c +++ b/src/firemon/procevent.c @@ -220,7 +220,7 @@ errexit: } -static int procevent_monitor(const int sock, pid_t mypid) { +static void __attribute__((noreturn)) procevent_monitor(const int sock, pid_t mypid) { ssize_t len; struct nlmsghdr *nlmsghdr; @@ -246,8 +246,7 @@ static int procevent_monitor(const int sock, pid_t mypid) { int rv = select(max, &readfds, NULL, NULL, &tv); if (rv == -1) { - fprintf(stderr, "recv: %s\n", strerror(errno)); - return -1; + errExit("recv"); } // timeout @@ -259,7 +258,7 @@ static int procevent_monitor(const int sock, pid_t mypid) { if ((len = recv(sock, buf, sizeof(buf), 0)) == 0) - return 0; + exit(0); if (len == -1) { if (errno == EINTR) continue; @@ -271,7 +270,7 @@ static int procevent_monitor(const int sock, pid_t mypid) { } else { fprintf(stderr,"Error: rx socket recv call, errno %d, %s\n", errno, strerror(errno)); - return -1; + exit(1); } } @@ -497,7 +496,7 @@ static int procevent_monitor(const int sock, pid_t mypid) { exit(0); } } - return 0; + __builtin_unreachable(); } void procevent(pid_t pid) { @@ -515,6 +514,4 @@ void procevent(pid_t pid) { } procevent_monitor(sock, pid); // it will never return from here - assert(0); - close(sock); // quiet static analyzers } -- cgit v1.2.3-54-g00ecf