| Index: xz/src/xz/signals.h
|
| ===================================================================
|
| --- xz/src/xz/signals.h (revision 0)
|
| +++ xz/src/xz/signals.h (revision 0)
|
| @@ -0,0 +1,43 @@
|
| +///////////////////////////////////////////////////////////////////////////////
|
| +//
|
| +/// \file signals.h
|
| +/// \brief Handling signals to abort operation
|
| +//
|
| +// Author: Lasse Collin
|
| +//
|
| +// This file has been put into the public domain.
|
| +// You can do whatever you want with this file.
|
| +//
|
| +///////////////////////////////////////////////////////////////////////////////
|
| +
|
| +/// If this is true, we will clean up the possibly incomplete output file,
|
| +/// return to main() as soon as practical. That is, the code needs to poll
|
| +/// this variable in various places.
|
| +extern volatile sig_atomic_t user_abort;
|
| +
|
| +
|
| +/// Initialize the signal handler, which will set user_abort to true when
|
| +/// user e.g. presses C-c.
|
| +extern void signals_init(void);
|
| +
|
| +
|
| +#if (defined(_WIN32) && !defined(__CYGWIN__)) || defined(__VMS)
|
| +# define signals_block() do { } while (0)
|
| +# define signals_unblock() do { } while (0)
|
| +#else
|
| +/// Block the signals which don't have SA_RESTART and which would just set
|
| +/// user_abort to true. This is handy when we don't want to handle EINTR
|
| +/// and don't want SA_RESTART either.
|
| +extern void signals_block(void);
|
| +
|
| +/// Unblock the signals blocked by signals_block().
|
| +extern void signals_unblock(void);
|
| +#endif
|
| +
|
| +#if defined(_WIN32) && !defined(__CYGWIN__)
|
| +# define signals_exit() do { } while (0)
|
| +#else
|
| +/// If user has sent us a signal earlier to terminate the process,
|
| +/// re-raise that signal to actually terminate the process.
|
| +extern void signals_exit(void);
|
| +#endif
|
|
|
| Property changes on: xz/src/xz/signals.h
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|