BUILD: haproxy: mark deinit_and_exit() as noreturn

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.
This commit is contained in:
Willy Tarreau 2020-06-15 18:43:46 +02:00
parent 55ae1ab9e4
commit f3ca5a0273
2 changed files with 2 additions and 2 deletions

View File

@ -61,7 +61,7 @@ struct proxy;
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);

View File

@ -2866,7 +2866,7 @@ void deinit(void)
deinit_pollers();
} /* end deinit() */
void deinit_and_exit(int status)
__attribute__((noreturn)) void deinit_and_exit(int status)
{
deinit();
exit(status);