Is invoking exit(2) in a library the right thing to do?

Werner Koch wk at gnupg.org
Sun Mar 4 21:57:49 CET 2007


On Sat,  3 Mar 2007 11:10, ametzler at downhill.at.eu.org said:

> currently log_fatal() ends up invoking exit(2). Is this really the
> right thing to do? It does not give applications using libgcrypt any

Yes.  It allows application to run an atexit handler.  Libgcrypt even
allows to register a dedicated handler: gcry_set_fatalerror_handler.

In any case the process needs to terminate as their is a fatal error
and something is going really wrong.  Allow a process to continue is
not a good idea because it allows bugs to lurk around for years
without fixing.  Such a bug is an indicator that something more severe
might have gone wrong.


Shalom-Salam,

   Werner




More information about the Gcrypt-devel mailing list