summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/sigproc.h
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/sigproc.h')
-rw-r--r--winsup/cygwin/sigproc.h24
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;