busybox/libbb
Peter Korsgaard 743edac6c8 bb_daemonize_or_rexec(): add flag to double-fork; use it in start-stop-daemon
Add a DAEMON_DOUBLE_FORK flag to make bb_daemonize double-fork so it isn't a
session leader, and hence doesn't get a controlling tty on Linux if a tty is
ever opened, similar to how libdaemon's daemon_fork or the big
start-stop-daemon does it - And use it in start-stop-daemon.

For details, see http://www.win.tue.nl/~aeb/linux/lk/lk-10.html#ss10.3

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-11-09 19:44:37 +01:00
..
appletlib.c rename archive.h to bb_archive.h. no code changes 2011-09-22 12:45:14 +02:00
ask_confirmation.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
bb_askpass.c getty,login: tighten up handling of ctty, pgrp, and tty attr restoring on timeout 2011-10-22 06:27:41 +02:00
bb_bswap_64.c *: deinline SWAP_xE64 on 32-bit CPUs. Wins !90 bytes both on 32 and 64 bits 2010-10-18 11:40:26 +02:00
bb_do_delay.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
bb_pwd.c libbb: make user/group name cache strings longer (~27 chars) 2011-03-01 16:27:13 +01:00
bb_qsort.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
bb_strtod.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
bb_strtonum.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
change_identity.c
chomp.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
compare_string_array.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
concat_path_file.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
concat_subpath_file.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
Config.src Config: fix wording in help-text 2011-09-13 14:59:06 +02:00
copy_file.c libbb/copy_file.c: use smallints instead of signed chars 2011-01-28 19:14:17 +01:00
copyfd.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
correct_password.c
crc32.c whitespace fixes 2011-02-03 00:05:48 +01:00
create_icmp6_socket.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
create_icmp_socket.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
default_error_retval.c libbb: xfunc_error_retval can be a byte 2010-09-01 16:04:24 +02:00
device_open.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
die_if_bad_username.c die_if_bad_username: tighten up a bit 2011-08-09 04:05:13 +02:00
dump.c fix "variable 'foo' set but not used" warnings 2011-05-13 20:57:01 +02:00
execable.c libbb: make BB_EXECVP/LP try to exec real binary if there's no /proc/self/exe 2011-02-02 03:28:56 +01:00
fclose_nonstdin.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
fflush_stdout_and_exit.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
fgets_str.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
find_mount_point.c df,find_mount_point: optionally don't ignore rootfs 2011-01-31 06:27:35 +01:00
find_pid_by_name.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
find_root_device.c plug a DIR* leak on error path 2010-12-28 10:25:03 +01:00
full_write.c *: whitespace fixes 2010-10-28 18:57:19 +02:00
get_console.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
get_cpu_count.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
get_last_path_component.c find: cater for libc w/o FNM_CASEFOLD 2011-05-23 00:40:54 +02:00
get_line_from_file.c libbb: split bb_get_chunk_from_file and bb_get_chunk_with_continuation 2011-06-17 03:37:43 +02:00
get_shell_name.c forgot to add libbb/get_shell_name.c 2011-03-08 21:02:42 +01:00
get_volsize.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
getopt32.c randomconfig fixes 2011-08-10 00:51:29 +02:00
getpty.c Fixes for warnings in FreeBSD build 2011-08-28 05:31:49 +02:00
hash_md5_sha.c regularize options which control size/speed trade 2011-09-10 13:25:57 +02:00
hash_md5prime.c regularize options which control size/speed trade 2011-09-10 13:25:57 +02:00
herror_msg.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
human_readable.c *: whitespace fixes 2010-10-28 18:57:19 +02:00
inet_cksum.c inet_cksum: big-endian fix 2011-09-08 10:59:26 +02:00
inet_common.c a few tweaks for bionic 2011-07-08 08:34:28 +02:00
info_msg.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
inode_hash.c *: whitespace fixes 2010-10-28 18:57:19 +02:00
isdirectory.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
Kbuild.src networking: consolidate the IP checksum code. -129 bytes. 2011-09-07 17:55:40 +02:00
kernel_version.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
last_char_is.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
lineedit_ptr_hack.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
lineedit.c lineedit: fix build failure 2011-11-04 01:09:09 +01:00
llist.c main: free suid_config list after use 2011-05-16 12:21:31 +02:00
login.c *: whitespace fixes 2010-10-28 18:57:19 +02:00
loop.c losetup: implement -r option. Closes 4033. 2011-09-12 08:30:16 +02:00
make_directory.c *: whitespace fixes 2010-10-28 18:57:19 +02:00
makedev.c nicer looking ifdef in libbb/makedev.c 2011-01-24 23:53:12 +01:00
match_fstype.c Fix compile breakage 2011-09-07 22:19:46 +02:00
messages.c save 10 bytes on strings 2011-02-10 10:01:49 +01:00
mode_string.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
mtab.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
obscure.c a few tweaks for bionic 2011-07-08 08:34:28 +02:00
parse_config.c parse_config: use getline. BIG speedup with glibc (~40%). 2011-06-20 09:49:56 +02:00
parse_mode.c *: whitespace fixes 2010-10-28 18:57:19 +02:00
percent_decode.c wget: URL-decode user:password before base64-encoding it into auth hdr. Closes 3625. 2011-09-11 21:04:02 +02:00
perror_msg.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
perror_nomsg_and_die.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
perror_nomsg.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
pidfile.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
platform.c platform.c: provide getline implementation 2011-06-29 02:19:58 +02:00
print_flags.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
printable_string.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
printable.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
process_escape_sequence.c libbb/process_escape_sequence.c: fix recently broken handling of \\ 2010-10-25 12:14:21 +02:00
procps.c top: fix CPU% for thread display. Closes 4081 2011-08-28 11:57:36 +02:00
progress.c libbb: make warning go away 2011-03-12 02:19:50 +01:00
ptr_to_globals.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
pw_encrypt_des.c des encrypt: fix goof with NUL byte added at the end as '.' 2009-05-01 03:41:25 +02:00
pw_encrypt_md5.c *: pass md5/shaN context pointer as 1st arg, not last 2010-10-16 20:45:27 +02:00
pw_encrypt_sha.c libbb/pw_encrypt_sha: forgot to move &ctx to 1st param here in sha hash rework 2010-12-01 13:57:25 +01:00
pw_encrypt.c adduser: safe username passing to passwd/addgroup 2011-05-13 03:19:01 +02:00
read_key.c lineedit: add support for M-b, M-f, M-d, M-Backspace 2011-11-03 13:28:22 +01:00
read_printf.c rename archive.h to bb_archive.h. no code changes 2011-09-22 12:45:14 +02:00
read.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
README *: trailing empty lines removed 2010-07-26 01:49:12 +02:00
recursive_action.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
remove_file.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
rtc.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
run_shell.c *: s/"/bin/sh"/DEFAULT_SHELL, run_shell() API fix, remove unneeded strdup 2010-06-27 03:23:31 +02:00
safe_gethostname.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
safe_poll.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
safe_strncpy.c klogd: do not log partial lines 2010-10-19 23:07:49 +02:00
safe_write.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
selinux_common.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
setup_environment.c libbb/login/su: do not sanitize shell name twice 2011-03-06 18:49:40 +01:00
signals.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
simplify_path.c whitespace cleanup 2010-10-29 11:46:52 +02:00
single_argv.c basename,dirname,freeramdisk,rx,raidautorun,runsv,chvt: skip "--" argument 2011-04-11 03:58:30 +02:00
skip_whitespace.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
speed_table.c *: whitespace fixes 2010-10-28 18:57:19 +02:00
str_tolower.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
strrstr.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
systemd_support.c typo fix 2011-02-12 01:56:25 +01:00
time.c libbb: better comment in parse_date 2011-01-17 14:23:42 +01:00
trim.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
u_signal_names.c kill[all[5]],pkill: make signal list show signal numbers, and show RTMIN/MAX 2011-01-03 13:08:58 +01:00
udp_io.c Fixes for warnings in FreeBSD build 2011-08-28 05:31:49 +02:00
unicode.c lineedit: fixes for CONFIG_UNICODE_USING_LOCALE=y 2011-03-27 01:18:07 +01:00
update_passwd.c type fix in comment 2010-11-03 02:48:43 +01:00
utmp.c move utmp.h include to libbb.h 2011-01-25 23:21:46 +01:00
uuencode.c libbb: shrink base64 decoding a bit 2011-10-28 16:15:00 +02:00
vdprintf.c libbb.h: remove unused defines 2011-10-24 04:06:18 +02:00
verror_msg.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
vfork_daemon_rexec.c bb_daemonize_or_rexec(): add flag to double-fork; use it in start-stop-daemon 2011-11-09 19:44:37 +01:00
warn_ignoring_args.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
wfopen_input.c *: whitespace fixes 2010-10-28 18:57:19 +02:00
wfopen.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
write.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
xatonum_template.c *: whitespace fixes 2010-10-28 18:57:19 +02:00
xatonum.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
xconnect.c libbb: make set_nport accept pointer to sockaddr, not to len_and_sockaddr. 2011-04-07 17:52:20 +02:00
xfunc_die.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
xfuncs_printf.c *: introduce and use xmkstemp. -65 bytes. 2010-10-22 13:27:16 +02:00
xfuncs.c libbb: make ndelay_no/off a bit more clever. +14 bytes 2011-01-24 00:29:55 +01:00
xgetcwd.c *: whitespace fixes 2010-10-28 18:57:19 +02:00
xgethostbyname.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
xreadlink.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
xrealloc_vector.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
xregcomp.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00

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>