summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2004-04-24.Jim Meyering
2004-04-24*** empty log message ***Jim Meyering
2004-04-24(gl_MACROS): Check for tcgetpgrp.Jim Meyering
2004-04-24More signal-handling cleanup for ls.c. Do not allow signals toJim Meyering
happen between arbitrary output bytes, as the restore-default-color sequence can bollix up multibyte chars or color-change sequences in the ordinary output. Instead, process signals only between printing a file name and changing the color back to non_filename_text color. That way, if the signal handler changes the color (to the default), 'ls' will change it back when 'ls' continues (after being suspended). Also, do not bother with signal-handling unless stdout is a controlling terminal; this lets stdio buffer better when "ls --color" is piped or sent to a file. (sigprocmask, sigset_t) [!defined SA_NOCLDSTOP]: New macros. Do not include "full-write.h"; no longer needed. (tcgetpgrp) [! HAVE_TCGETPGRP]: New macro. (put_indicator_direct): Remove. All callers changed to use put_indicator. (caught_signals, interrupt_signal, stop_signal_count): New vars. (restore_default_color): Don't bother checking for put_indicator failure. (sighandler): Don't handle SIGTSTP; that's another handler now. Simply set interrupt_signal to the signal, then exit. (stophandler, process_signals): New functions. (main): Don't output any color changes until _after_ the signal handlers are set up. This fixes a race condition where 'ls' could be interrupted while initializing colors, and leaving the terminal in an undesirable state. Don't mess with signal-handling if standard output is not a controlling terminal. When exiting, restore the default color, then restore the default signal handling, then act on any signals that weren't acted on yet. Do not print //DIRED// etc. in colors; this avoids the need to catch signals when printing them. (print_name_with_quoting): Process signals just before switching color back to non_filename_text.
2004-04-23*** empty log message ***Jim Meyering
2004-04-23Avoid segfault on systems for which SIZE_MAX != (size_t) -1.Jim Meyering
(quote_name): Use SIZE_MAX, not -1, in calls of quotearg_buffer. Patch by Mikulas Patocka.
2004-04-23*** empty log message ***Jim Meyering
2004-04-23*** empty log message ***Jim Meyering
2004-04-23Don't check for values.h; it's no longer used.Jim Meyering
2004-04-21*** empty log message ***Jim Meyering
2004-04-21*** empty log message ***Jim Meyering
2004-04-21(main): Do not ignore SIGPIPE, as POSIX 1003.1-2001Jim Meyering
does not allow this. This undoes the 1996-10-24 patch.
2004-04-21*** empty log message ***Jim Meyering
2004-04-21 - csplit sometimes failed to remove files when interrupted.Jim Meyering
- csplit didn't clean up if two signals arrived nearly simultaneously. (sigprocmask, sigset_t) [!defined SA_NOCLDSTOP]: Define. (filename_space, prefix, suffix, digits, files_created, remove_files): Now volatile. (caught_signals): New var. (cleanup): Block signals while deleting all files. (cleanup_fatal, handle_line_error, regexp_error): Mark with ATTRIBUTE_NORETURN. (create_output_file, close_output_file, interrupt_handler): Block signals while changing the number of output files, to fix some race conditions. (delete_all_files): Do nothing if remove_files is zero. Clear files_created. (main): Don't mess with signals until after argument processing is done. (main): Rewrite signal-catching code to make it similar to other coreutils programs. When processing signals, block all signals that we catch, but do not block signals that we don't catch. Avoid problems with unsigned int warnings. (interrupt_handler): Use void, not (obsolete) RETSIGTYPE. (interrupt_handler) [defined SA_NOCLDSTOP]: Use simpler "signal (sig, SIG_DFL)" rather than sigaction equivalent.
2004-04-21 - ls could incorrectly restore color if multiple signalsJim Meyering
arrived nearly simultaneously. (main): Rewrite signal-catching code to make it similar to other coreutils programs. When processing signals, block all signals that we catch, but do not block signals that we don't catch. Avoid problems with unsigned int warnings. (sighandler) [defined SA_NOCLDSTOP]: Use simpler "signal (sig, SIG_DFL)" rather than sigaction equivalent. (sighandler) [!defined SA_NOCLDSTOP]: Reset signal handler to self, not to SIG_IGN, since SIGTSTP can be received more than once. (main): Use SA_RESTART, as that is simpler than checking for EINTR failures all over the place.
2004-04-21install -s failed on System V if SIGCHLD was ignored.Jim Meyering
Include <signal.h>. (main) [defined SIGCHLD]: Set SIGCHLD handler to the default, if -s is given, since System V fork+wait does not work if SIGCHLD is ignored.
2004-04-20*** empty log message ***Jim Meyering
2004-04-20(is_empty_dir): Clarify comment.Jim Meyering
2004-04-20(main) [!defined _POSIX_SOURCE]:Jim Meyering
Use simpler "signal (sig, SIG_DFL)" rather than sigaction equivalent.
2004-04-20(main): Rewrite signal-catching code to make itJim Meyering
similar to other coreutils programs. When processing signals, block all signals that we catch, but do not block signals that we don't catch. Avoid problems with unsigned int warnings. (sighandler) [defined SA_NOCLDSTOP]: Use simpler "signal (sig, SIG_DFL)" rather than sigaction equivalent.
2004-04-20(sigill_handler, isaac_seed_machdep): Use void, not (obsolete) RETSIGTYPE.Jim Meyering
2004-04-20(main) [!defined _POSIX_SOURCE]:Jim Meyering
Use simpler "signal (sig, SIG_IGN)" rather than sigaction equivalent.
2004-04-20*** empty log message ***Jim Meyering
2004-04-20(suspended): Change its type from int to sig_atomic_t volatile.Jim Meyering
(first_call): Make it private to rpl_nanosleep, and have it be zero initially as that's a bit faster. (my_usleep): Round up fractional times instead of truncating them, as this is the usual meaning for 'sleep'.
2004-04-20.Jim Meyering
2004-04-20tweak --help outputJim Meyering
2004-04-20*** empty log message ***Jim Meyering
2004-04-20(.x.1): Use help2man's new --program-name=NAME option.Jim Meyering
2004-04-20Accept new option: --program-name=NAME, so that weJim Meyering
can override the one in --version output. This is needed solely so that test.1 doesn't refer to `[' as the program name. Reported by Benjamin Cutler as http://bugs.debian.org/205251.
2004-04-20*** empty log message ***Jim Meyering
2004-04-20remove trailing blankJim Meyering
2004-04-20*** empty log message ***Jim Meyering
2004-04-20Don't include pathmax.h; system.h already does it.Jim Meyering
2004-04-20.Jim Meyering
2004-04-20*** empty log message ***Jim Meyering
2004-04-20Change UTILS_ to gl_ in AC_DEFINE'd names.Jim Meyering
Change utils_- and jm_-prefixed variables, too. * host-os.m4 (gl_HOST_OS): Renamed from UTILS_HOST_OS.
2004-04-20Change UTILS_ to gl_ in AC_DEFINE'd names.Jim Meyering
Change utils_- and jm_-prefixed variables, too. (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
2004-04-20Reflect the renamings.Jim Meyering
2004-04-20Change UTILS_ to gl_ in AC_DEFINE'd names.Jim Meyering
Change utils_- and jm_-prefixed variables, too. (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from UTILS_FUNC_MKDIR_TRAILING_SLASH.
2004-04-20*** empty log message ***Jim Meyering
2004-04-20(gl_MACROS): Reflect the renaming: s/UTILS_FUNC_DIRFD/gl_FUNC_DIRFD/Jim Meyering
2004-04-20(gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.Jim Meyering
2004-04-20*** empty log message ***Jim Meyering
2004-04-20Don't emit trailing blanks.Jim Meyering
2004-04-20*** empty log message ***Jim Meyering
2004-04-20(getndelim2): Upon realloc failure, don't leak memory.Jim Meyering
2004-04-20*** empty log message ***Jim Meyering
2004-04-20(cut_fields): Free buffer upon getndelim2 failure.Jim Meyering
2004-04-19.Jim Meyering
2004-04-19*** empty log message ***Jim Meyering