hush/libbb
Stephen Heumann 5c972aa397 Fix our handling of process groups for job control, working around a couple GNO bugs.
*Most significantly, we avoid using setpgid(), because it doesn't work and in fact corrupts the kernel's process group table.
*Also, work around tctpgrp() returning garbage instead of 0 on success.

This adds an implementation of tcsetpgrp that works by reading the process tables to find a process in the appropriate group. This isn't used for the main job control operations, though, since it might be relatively slow.

At this point, basic job control seems to work.
2014-11-21 23:05:38 -06:00
..
appletlib.c Use alternative code (also from BusyBox) for checking if the user is in a group, avoiding a call to getgroups(), which isn't supported. 2014-11-04 16:24:41 -06:00
bb.basename.c Move all the source files to 15-character ProDOS-compatible file names. 2014-11-02 22:11:07 -06:00
bb.qsort.c Move all the source files to 15-character ProDOS-compatible file names. 2014-11-02 22:11:07 -06:00
bb.strtonum.c Move all the source files to 15-character ProDOS-compatible file names. 2014-11-02 22:11:07 -06:00
cmp.str.array.c Move all the source files to 15-character ProDOS-compatible file names. 2014-11-02 22:11:07 -06:00
conc.pathfile.c Move all the source files to 15-character ProDOS-compatible file names. 2014-11-02 22:11:07 -06:00
endofname.c move endofname() to libbb 2013-02-26 00:36:53 +01:00
error.retval.c Move all the source files to 15-character ProDOS-compatible file names. 2014-11-02 22:11:07 -06:00
escape.seq.c Move all the source files to 15-character ProDOS-compatible file names. 2014-11-02 22:11:07 -06:00
full.write.c Move all the source files to 15-character ProDOS-compatible file names. 2014-11-02 22:11:07 -06:00
get.exec.path.c Use prefix 9 instead of 1 to get the executable path, to avoid a length limitation. 2014-11-08 12:26:36 -06:00
get.line.c Changes to handle the use of \r as newline on the IIgs. 2014-11-08 19:58:11 -06:00
getopt32.c Fixes to get libbb/getopt32.c to compile. 2014-11-03 12:58:57 -06:00
last.char.is.c Move all the source files to 15-character ProDOS-compatible file names. 2014-11-02 22:11:07 -06:00
lineedit.c Change some stack-allocated arrays in libbb/lineedit.c to be dynamically allocated. 2014-11-20 18:34:52 -06:00
llist.c main: free suid_config list after use 2011-05-16 12:21:31 +02:00
mempcpy.c Minimal changes to enable hush-only builds on OS X 2014-10-26 21:14:47 -05:00
messages.c Add code to get the path of the current executable, which we need to re-execute the shell. 2014-11-07 23:06:34 -06:00
parse.mode.c Move all the source files to 15-character ProDOS-compatible file names. 2014-11-02 22:11:07 -06:00
perror.msg.c Move all the source files to 15-character ProDOS-compatible file names. 2014-11-02 22:11:07 -06:00
pgrp.c Fix our handling of process groups for job control, working around a couple GNO bugs. 2014-11-21 23:05:38 -06:00
platform.c Fix the implementation of vasprintf to work with ORCA/C's varargs implementation. Also, shrink the stack-allocated buffer in it. 2014-11-03 16:08:43 -06:00
poll.c Add an implementation of poll() written in terms of select(), to work around the lack of poll() on GNO. 2014-11-03 12:26:43 -06:00
printable.str.c Move all the source files to 15-character ProDOS-compatible file names. 2014-11-02 22:11:07 -06:00
read.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
read.key.c Add basic support for getting input escape sequences from termcap. 2014-11-12 23:25:01 -06:00
s.gethostname.c Move all the source files to 15-character ProDOS-compatible file names. 2014-11-02 22:11:07 -06:00
safe.poll.c Move all the source files to 15-character ProDOS-compatible file names. 2014-11-02 22:11:07 -06:00
safe.strncpy.c Move all the source files to 15-character ProDOS-compatible file names. 2014-11-02 22:11:07 -06:00
safe.write.c Move all the source files to 15-character ProDOS-compatible file names. 2014-11-02 22:11:07 -06:00
signal.names.c Change libbb/signal.names.c to use C89-style constructs for ORCA/C compatibility. 2014-11-02 23:15:17 -06:00
signals.c Change vfork_and_run implementation to inspect the kernel's process tables to determine whether the child has really exec'd or exited. 2014-11-10 16:08:24 -06:00
skip.whitespc.c Move all the source files to 15-character ProDOS-compatible file names. 2014-11-02 22:11:07 -06:00
time.c Disable functionality for printing the time in the shell's prompt. This required strftime(), which is missing in GNO 2.0.6. 2014-11-05 18:00:35 -06:00
unicode.c Various changes for GNO and ORCA/C compatibility. 2014-11-02 18:30:31 -06:00
verror.msg.c Changes to handle the use of \r as newline on the IIgs. 2014-11-08 19:58:11 -06:00
vfork.and.run.c Fixes for environment variable handling on GNO: 2014-11-20 13:21:23 -06:00
waitpid.emul.c Add an emulation of waitpid that should be better than the one in libc. 2014-11-07 12:12:18 -06:00
wfopen.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
xatonum.c Restructure macros in libbb/xatonum.c and its template file to work with the ORCA/C preprocessor. 2014-11-03 20:17:51 -06:00
xatonum.tmplt.c Restructure macros in libbb/xatonum.c and its template file to work with the ORCA/C preprocessor. 2014-11-03 20:17:51 -06:00
xfunc.die.c Change vfork_and_run implementation to inspect the kernel's process tables to determine whether the child has really exec'd or exited. 2014-11-10 16:08:24 -06:00
xfuncs.c Changes to handle the use of \r as newline on the IIgs. 2014-11-08 19:58:11 -06:00
xfuncs.printf.c Remove libbb/copyfd.c and an unused function that was its only caller. 2014-11-20 20:00:21 -06:00
xgetcwd.c *: whitespace fixes 2010-10-28 18:57:19 +02:00
xrealloc.vec.c Move all the source files to 15-character ProDOS-compatible file names. 2014-11-02 22:11:07 -06:00