Commit
0a3b43d9c ("MINOR: haproxy: Make use of deinit_and_exit() for
clean exits") introduced this build warning:
src/haproxy.c: In function 'main':
src/haproxy.c:3775:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
This is because the new deinit_and_exit() is not marked as "noreturn"
so depending on the optimizations, the noreturn attribute of exit() will
either leak through it and silence the warning or not and confuse the
compiler. Let's just add the attribute to fix this.
No backport is needed, this is purely 2.2.
struct server;
int main(int argc, char **argv);
void deinit(void);
-void deinit_and_exit(int);
+__attribute__((noreturn)) void deinit_and_exit(int);
void run_poll_loop(void);
int tell_old_pids(int sig);
int delete_oldpid(int pid);
deinit_pollers();
} /* end deinit() */
-void deinit_and_exit(int status)
+__attribute__((noreturn)) void deinit_and_exit(int status)
{
deinit();
exit(status);