diff options
Diffstat (limited to 'winsup/cygwin/sigproc.h')
-rw-r--r-- | winsup/cygwin/sigproc.h | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/winsup/cygwin/sigproc.h b/winsup/cygwin/sigproc.h index f34dfa208..03ee1b89b 100644 --- a/winsup/cygwin/sigproc.h +++ b/winsup/cygwin/sigproc.h @@ -48,6 +48,21 @@ typedef struct struct_waitq HANDLE thread_ev; } waitq; +struct sigpacket +{ + siginfo_t si; + pid_t pid; + class _threadinfo *tls; + sigset_t *mask; + sigset_t mask_storage; + union + { + HANDLE wakeup; + struct sigpacket *next; + }; + int __stdcall process () __attribute__ ((regparm (1))); +}; + extern HANDLE signal_arrived; extern HANDLE sigCONT; @@ -62,9 +77,6 @@ int __stdcall handle_sigprocmask (int sig, const sigset_t *set, extern "C" void __stdcall reset_signal_arrived (); extern "C" int __stdcall call_signal_handler_now (); -#ifdef _CYGTLS_H -int __stdcall sig_handle (int, sigset_t, int, _threadinfo *) __attribute__ ((regparm (3))); -#endif void __stdcall sig_clear (int) __attribute__ ((regparm (1))); void __stdcall sig_set_pending (int) __attribute__ ((regparm (1))); int __stdcall handle_sigsuspend (sigset_t); @@ -78,12 +90,16 @@ void __stdcall subproc_init (); void __stdcall sigproc_terminate (); bool __stdcall proc_exists (_pinfo *) __attribute__ ((regparm(1))); bool __stdcall pid_exists (pid_t) __attribute__ ((regparm(1))); -int __stdcall sig_send (_pinfo *, int, void * = NULL) __attribute__ ((regparm(3))); +int __stdcall sig_send (_pinfo *, siginfo_t&, class _threadinfo *tls = NULL) __attribute__ ((regparm (3))); +int __stdcall sig_send (_pinfo *, int) __attribute__ ((regparm (2))); void __stdcall signal_fixup_after_fork (); void __stdcall signal_fixup_after_exec (); void __stdcall wait_for_sigthread (); void __stdcall sigalloc (); +int kill_pgrp (pid_t, siginfo_t&); +int killsys (pid_t, int); + extern char myself_nowait_dummy[]; extern struct sigaction *global_sigs; |