In .:
[mono.git] / support / signal.c
1 /*
2  * <signal.h> wrapper functions.
3  *
4  * Authors:
5  *   Jonathan Pryor (jonpryor@vt.edu)
6  *
7  * Copyright (C) 2004-2005 Jonathan Pryor
8  */
9
10 #include <signal.h>
11
12 #include "mph.h"
13
14 G_BEGIN_DECLS
15
16 typedef void (*mph_sighandler_t)(int);
17
18 void*
19 Mono_Posix_Stdlib_SIG_DFL (void)
20 {
21         return SIG_DFL;
22 }
23
24 void*
25 Mono_Posix_Stdlib_SIG_ERR (void)
26 {
27         return SIG_ERR;
28 }
29
30 void*
31 Mono_Posix_Stdlib_SIG_IGN (void)
32 {
33         return SIG_IGN;
34 }
35
36 void
37 Mono_Posix_Stdlib_InvokeSignalHandler (int signum, void *handler)
38 {
39         mph_sighandler_t _h = (mph_sighandler_t) handler;
40         _h (signum);
41 }
42
43 #ifndef PLATFORM_WIN32
44 int
45 Mono_Posix_Syscall_psignal (int sig, const char* s)
46 {
47         errno = 0;
48         psignal (sig, s);
49         return errno == 0 ? 0 : -1;
50 }
51 #endif /* ndef PLATFORM_WIN32 */
52
53
54 G_END_DECLS
55
56 /*
57  * vim: noexpandtab
58  */