busybox/libbb
Denys Vlasenko b182e9ad60 libbb: use _exit, not exit, in bb_daemonize_or_rexec()
By the time we reach exit in parent, child already exited or execed.
We should not re-run libc cleanup code.

While at it, introduce bb_daemon_helper() and add a few comments.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-04 23:04:17 +02:00
..
appletlib.c standalone shell / prefer_applets: fix "exe" in comm fields 2017-07-29 02:19:01 +02:00
ask_confirmation.c
auto_string.c libbb: auto_string() for efficient handling of temporary malloced stirngs 2015-10-09 17:59:56 +02:00
bb_askpass.c use auto_string() where appropriate to kill a few statics 2015-10-09 18:16:40 +02:00
bb_bswap_64.c
bb_cat.c fix errors found with make_single_applets.sh 2017-04-12 15:48:19 +02:00
bb_do_delay.c
bb_getgroups.c libbb: new function bb_getgroups() - allocating wrapper around getgroups() 2017-07-04 18:56:45 +02:00
bb_pwd.c new NOFORKs: pwdx,kill[all5],ttysize,realpath,readlink NOEXECs: date,resize 2017-08-03 19:03:32 +02:00
bb_qsort.c
bb_strtod.c
bb_strtonum.c
bbunit.c unit-tests: remove code depending on WANT_TIMING 2015-08-17 17:01:49 +02:00
change_identity.c do not use `a' quoting style in comments 2017-08-02 14:26:33 +02:00
chomp.c
common_bufsiz.c config: deindent all help texts 2017-07-21 09:50:55 +02:00
compare_string_array.c libbb: another unit test for is_suffixed_with 2015-09-15 23:38:01 +02:00
concat_path_file.c
concat_subpath_file.c
Config.src config: trim/improve item names and help texts. 2017-07-27 02:59:13 +02:00
copy_file.c cp: fix -i for POSIX mode. Closes 9106 2016-08-13 23:23:48 +02:00
copyfd.c copyfd: guard use of munmap() with #if (windows builds need this) 2017-07-15 11:44:13 +02:00
correct_password.c do not use `a' quoting style in comments 2017-08-02 14:26:33 +02:00
crc32.c Replace int -> uint to avoid signed integer overflow 2017-02-04 23:10:22 +01:00
default_error_retval.c
device_open.c
die_if_bad_username.c
dump.c do not use `a' quoting style in comments 2017-08-02 14:26:33 +02:00
endofname.c
executable.c su: expand help; simplify passing of -c CMD to run_shell() 2016-11-03 22:13:08 +01:00
fclose_nonstdin.c
fflush_stdout_and_exit.c remove global "jmp_buf die_jmp" from !FEATURE_PREFER_APPLETS builds 2015-10-09 16:42:57 +02:00
fgets_str.c
find_mount_point.c
find_pid_by_name.c
find_root_device.c
full_write.c
get_console.c
get_cpu_count.c
get_last_path_component.c
get_line_from_file.c
get_shell_name.c
get_volsize.c
getopt32.c getopt32: move support for "always treat first arg as option" to users (tar/ar) 2017-08-04 16:46:17 +02:00
getopt_allopts.c getopt32: factor out code to treat all args as options 2017-08-04 16:33:23 +02:00
getpty.c
hash_md5_sha.c tls: add 2nd cipher_id, TLS_RSA_WITH_AES_128_CBC_SHA, so far it doesn't work 2017-01-24 16:00:54 +01:00
hash_md5prime.c tls: add 2nd cipher_id, TLS_RSA_WITH_AES_128_CBC_SHA, so far it doesn't work 2017-01-24 16:00:54 +01:00
herror_msg.c
human_readable.c du: extra compat: with -k and -m, round sizes up 2015-10-15 21:33:34 +02:00
in_ether.c Removes stray empty line from code 2015-07-13 03:25:46 +02:00
inet_cksum.c
inet_common.c libbb: hide getnetbyaddr() inside "#if ENABLE_FEATURE_ETC_NETWORKS" block 2017-07-14 20:17:17 +02:00
inode_hash.c
isdirectory.c
isqrt.c libbb: move isqrt from factor, use it in diff too 2017-04-11 07:34:56 +02:00
Kbuild.src getopt32: factor out code to treat all args as options 2017-08-04 16:33:23 +02:00
kernel_version.c tidy up strtok use 2015-10-23 18:43:16 +02:00
last_char_is.c
lineedit_ptr_hack.c
lineedit.c line editing: make read_line_input() not take timeout param 2017-08-02 17:27:28 +02:00
llist.c
logenv.c
login.c libbb: handle \S in /etc/issue 2016-09-24 23:50:43 +02:00
loop.c mount: create loop devices with LO_FLAGS_AUTOCLEAR flag 2017-03-16 16:55:47 +01:00
make_directory.c fix musl problem with dirname, now for all users of bb_make_directory() 2016-12-04 10:42:07 +01:00
makedev.c
match_fstype.c libbb: match_fstype() is unreadable in the extreme, fixing it 2017-01-30 00:45:05 +01:00
messages.c Change BB_EXTRA_VERSION: now it needs to contain any spaces/parenthesis 2017-07-04 16:01:12 +02:00
missing_syscalls.c Resolve linker issues with Android API 21 (dprintf, tcdrain) 2015-12-17 16:42:41 +01:00
mode_string.c *: slap on a few ALIGN1/2s where appropriate 2016-04-22 18:09:21 +02:00
mtab.c
nuke_str.c
obscure.c
parse_config.c config: deindent all help texts 2017-07-21 09:50:55 +02:00
parse_mode.c libbb: more compact API for bb_parse_mode() 2015-10-07 17:55:33 +02:00
percent_decode.c
perror_msg.c
perror_nomsg_and_die.c
perror_nomsg.c
pidfile.c
platform.c Bionic lacks ttyname_r; provide a workaround 2015-04-25 21:32:48 +02:00
print_flags.c
print_numbered_lines.c cat: fix "cat -An" ignoring -n; make numbering go througn all files 2017-07-14 10:47:18 +02:00
printable_string.c libbb: auto_string() for efficient handling of temporary malloced stirngs 2015-10-09 17:59:56 +02:00
printable.c
process_escape_sequence.c
procps.c ps: avoid -o stat to contain spaces. Closes 9631 2017-02-02 13:04:30 +01:00
progress.c do not use `a' quoting style in comments 2017-08-02 14:26:33 +02:00
ptr_to_globals.c
pw_encrypt_des.c do not use `a' quoting style in comments 2017-08-02 14:26:33 +02:00
pw_encrypt_md5.c
pw_encrypt_sha.c tls: add 2nd cipher_id, TLS_RSA_WITH_AES_128_CBC_SHA, so far it doesn't work 2017-01-24 16:00:54 +01:00
pw_encrypt.c Replace int -> uint to avoid signed integer overflow 2017-02-04 23:10:22 +01:00
read_key.c lineedit: fix handling of repeating Alt-b, Alt-f, Alt-d, Alt-Backspace 2016-11-24 15:04:00 +01:00
read_printf.c libbb: remove unnecessary argument to nonblock_immune_read 2015-04-20 13:41:32 +02:00
read.c
README
recursive_action.c modprobe: do not descend into /etc/modprobe.d/DIR/. Closes 8686 2017-04-06 15:23:26 +02:00
remove_file.c
replace.c
rtc.c libbb: introduce and use is_prefixed_with() 2015-03-12 17:48:34 +01:00
run_shell.c do not use `a' quoting style in comments 2017-08-02 14:26:33 +02:00
safe_gethostname.c
safe_poll.c
safe_strncpy.c
safe_write.c libbb: safe_write should not return EINTR 2017-07-14 14:22:09 +02:00
securetty.c libbb: fix "error: redefinition of 'is_tty_secure'" 2017-04-13 17:55:05 +02:00
selinux_common.c
setup_environment.c do not use `a' quoting style in comments 2017-08-02 14:26:33 +02:00
signals.c
simplify_path.c
single_argv.c
skip_whitespace.c libbb: introduce and use is_prefixed_with() 2015-03-12 17:48:34 +01:00
speed_table.c libbb/speed_table.c: expand comments 2016-09-26 14:37:12 +02:00
str_tolower.c
strrstr.c
sysconf.c libbb: add sanity check in bb_arg_max() 2014-12-24 01:46:29 +01:00
time.c libbb: fix time parsing of [[CC]YY]MMDDhhmm[.SS]. Closes 8951 2016-05-31 02:50:54 +02:00
trim.c
u_signal_names.c ash: allow "trap NUM [SIG]..." syntax 2017-07-25 20:06:17 +02:00
ubi.c whitespace and namespace cleanups 2016-04-03 22:24:51 +02:00
udp_io.c libbb:/send_to_from: do not require that "to" should have the same AF. Closes 9146 2016-09-15 13:20:51 +02:00
unicode.c
update_passwd.c fix breakage found by mass one-applet builds 2016-12-23 02:42:26 +01:00
utmp.c *: Switch to POSIX utmpx API 2015-04-02 23:03:46 +02:00
uuencode.c
verror_msg.c libbb: speed up error_msg functions 2016-04-03 16:55:03 +02:00
vfork_daemon_rexec.c libbb: use _exit, not exit, in bb_daemonize_or_rexec() 2017-08-04 23:04:17 +02:00
warn_ignoring_args.c
wfopen_input.c
wfopen.c
write.c
xatonum_template.c
xatonum.c df: implement -B n<suff> and -B <suff> formats of -B option 2016-12-12 19:56:31 +01:00
xconnect.c libbb: make xmalloc_sockaddr2dotted use NI_NUMERICSCOPE 2016-09-26 19:53:04 +02:00
xfunc_die.c remove global "jmp_buf die_jmp" from !FEATURE_PREFER_APPLETS builds 2015-10-09 16:42:57 +02:00
xfuncs_printf.c libbb: avoid malloc/free in bb_unsetenv() 2017-07-22 02:15:17 +02:00
xfuncs.c libbb: consolidate the code to set termios unbuffered mode 2017-01-11 16:17:59 +01:00
xgetcwd.c
xgethostbyname.c
xreadlink.c
xrealloc_vector.c
xregcomp.c

Please see the LICENSE file for copyright information (GPLv2)

libbb is BusyBox's utility library.  All of this stuff used to be stuffed into
a single file named utility.c.  When I split utility.c to create libbb, some of
the very oldest stuff ended up without their original copyright and licensing
information (which is now lost in the mists of time).  If you see something
that you wrote that is mis-attributed, do let me know so we can fix that up.

	Erik Andersen
	<andersen@codepoet.org>