* sigproc.cc (sigalloc): Don't set SA_RESTART here.

* signal.cc (_SA_NORESTART): New flag.
(sigaction_worker): New function, derived from sigaction.  Don't set internal
flags unless called internally.
(sigaction): Use sigaction_worker.
(signal): Honor new _SA_NORESTART flag.
(siginterrupt): Set _SA_NORESTART flag appropriately.  Use sigaction_worker to
set flags.
* include/cygwin/signal.h: Define _SA_INTERNAL_MASK here.
This commit is contained in:
Christopher Faylor
2006-03-23 15:55:59 +00:00
parent 5b2daa7c97
commit dccd2abec6
4 changed files with 63 additions and 21 deletions

View File

@ -215,6 +215,10 @@ struct sigaction
#define SA_ONESHOT SA_RESETHAND /* Historical linux name */
#define SA_NOMASK SA_NODEFER /* Historical linux name */
/* Used internally by cygwin. Included here to group everything in one place.
Do not use. */
#define _SA_INTERNAL_MASK 0xf000 /* bits in this range are internal */
#define SIGHUP 1 /* hangup */
#define SIGINT 2 /* interrupt */
#define SIGQUIT 3 /* quit */