aboutsummaryrefslogtreecommitdiff
path: root/src/xz/signals.c (follow)
AgeCommit message (Collapse)AuthorFilesLines
2023-01-27xz: Add SIGTSTP handler for progress indicator time keeping.Lasse Collin1-1/+16
This way, if xz is stopped the elapsed time and estimated time remaining won't get confused by the amount of time spent in the stopped state. This raises SIGSTOP. It's not clear to me if this is the correct way. POSIX and glibc docs say that SIGTSTP shouldn't stop the process if it is orphaned but this commit doesn't attempt to handle that. Search for SIGTSTP in section 2.4.3: https://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html
2020-02-21xz: Silence a warning when sig_atomic_t is long int.Lasse Collin1-1/+1
It can be true at least on z/OS.
2020-02-21xz: Avoid unneeded access of a volatile variable.Lasse Collin1-1/+1
2018-11-22'have have' typosPavel Raiskup1-1/+1
2014-04-09xz: Rename a variable to avoid a namespace collision on Solaris.Lasse Collin1-5/+7
I don't know the details but I have an impression that there's no problem in practice if using GCC since people have built xz with GCC (without patching xz), but renaming the variable cannot hurt either. Thanks to Mark Ashley.
2013-06-28xz: Use the self-pipe trick to avoid a race condition with signals.Lasse Collin1-0/+5
It is possible that a signal to set user_abort arrives right before a blocking system call is made. In this case the call may block until another signal arrives, while the wanted behavior is to make xz clean up and exit as soon as possible. After this commit, the race condition is avoided with the input side which already uses non-blocking I/O. The output side still uses blocking I/O and thus has the race condition.
2011-05-17Add underscores to attributes (__attribute((__foo__))).Lasse Collin1-1/+1
2010-10-12xz: Avoid raise() also on OpenVMS.Lasse Collin1-1/+1
This is similar to DOS/DJGPP that killing the program with a signal will print a backtrace or a similar message.
2010-10-11xz: Avoid SA_RESTART for portability reasons.Lasse Collin1-0/+6
SA_RESTART is not as portable as I had hoped. It's missing at least from OpenVMS, QNX, and DJGPP). Luckily we can do fine without SA_RESTART.
2010-10-09OS/2 and DOS: Be less verbose on signals.Lasse Collin1-0/+7
Calling raise() to kill xz when user has pressed C-c is a bit verbose on OS/2 and DOS/DJGPP. Instead of calling raise(), set only the exit status to 1.
2010-06-02Fix a Windows-specific FIXME in signal handling code.Lasse Collin1-8/+8
2010-05-27Take Cygwin into account in some #if lines.Lasse Collin1-1/+1
This change is no-op, but good to have just in case for the future.
2010-01-31Don't use uninitialized sigset_t.Lasse Collin1-10/+24
If signal handlers haven't been established, then it's useless to try to block them, especially since the sigset_t used for blocking hasn't been initialized yet.
2009-09-19Various changes.Lasse Collin1-0/+2
Separate a few reusable components from XZ Utils specific code. The reusable code is now in "tuklib" modules. A few more could be separated still, e.g. bswap.h. Fix some bugs in lzmainfo. Fix physmem and cpucores code on OS/2. Thanks to Elbert Pol for help. Add OpenVMS support into physmem. Add a few #ifdefs to ease building XZ Utils on OpenVMS. Thanks to Jouk Jansen for the original patch.
2009-04-13Put the interesting parts of XZ Utils into the public domain.Lasse Collin1-10/+3
Some minor documentation cleanups were made at the same time.
2009-02-05Various code cleanups the the xz command line tool.Lasse Collin1-0/+180
It now builds with MinGW.