make a few struct bb_applet members conditional
rename sllep_and_die -> xfunc_die make fflush_stdout_and_exit NOFORK-safe fix some buglets found by randomconfig
This commit is contained in:
@ -13,13 +13,17 @@
|
||||
|
||||
#include "libbb.h"
|
||||
|
||||
// TODO: make it safe to call from NOFORK applets
|
||||
// Currently, it can exit(0). Even if it is made to do longjmp trick
|
||||
// (see sleep_and_die internals), zero cannot be passed thru this way!
|
||||
|
||||
void fflush_stdout_and_exit(int retval)
|
||||
{
|
||||
if (fflush(stdout))
|
||||
sleep_and_die();
|
||||
xfunc_die();
|
||||
|
||||
if (ENABLE_FEATURE_EXEC_PREFER_APPLETS && die_sleep < 0) {
|
||||
/* We are in NOFORK applet. Do not exit() directly,
|
||||
* but use xfunc_die() */
|
||||
xfunc_error_retval = retval;
|
||||
xfunc_die();
|
||||
}
|
||||
|
||||
exit(retval);
|
||||
}
|
||||
|
Reference in New Issue
Block a user