Mercurial > dovecot > original-hg > dovecot-1.2
annotate src/lib/lib-signals.h @ 8367:0d49326397b4 HEAD
Added lib_signals_reset_ioloop() for handling signals with multiple ioloops.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sat, 01 Nov 2008 14:15:00 +0200 |
parents | e4eb71ae8e96 |
children | 9f3968f49ceb |
rev | line source |
---|---|
6410
e4eb71ae8e96
Changed .h ifdef/defines to use <NAME>_H format.
Timo Sirainen <tss@iki.fi>
parents:
4906
diff
changeset
|
1 #ifndef LIB_SIGNALS_H |
e4eb71ae8e96
Changed .h ifdef/defines to use <NAME>_H format.
Timo Sirainen <tss@iki.fi>
parents:
4906
diff
changeset
|
2 #define LIB_SIGNALS_H |
0 | 3 |
3620
3360cc019737
Implemented new signal handling framework, which makes handling signals much
Timo Sirainen <tss@iki.fi>
parents:
2880
diff
changeset
|
4 #include <signal.h> |
3360cc019737
Implemented new signal handling framework, which makes handling signals much
Timo Sirainen <tss@iki.fi>
parents:
2880
diff
changeset
|
5 |
3360cc019737
Implemented new signal handling framework, which makes handling signals much
Timo Sirainen <tss@iki.fi>
parents:
2880
diff
changeset
|
6 typedef void signal_handler_t(int signo, void *context); |
0 | 7 |
3620
3360cc019737
Implemented new signal handling framework, which makes handling signals much
Timo Sirainen <tss@iki.fi>
parents:
2880
diff
changeset
|
8 /* Set signal handler for specific signal. If delayed is TRUE, the handler |
4903
204d7edc7cdc
Added context parameter type safety checks for most callback APIs.
Timo Sirainen <tss@iki.fi>
parents:
4252
diff
changeset
|
9 will be called later, ie. not as a real signal handler. */ |
3863
55df57c028d4
Added "bool" type and changed all ints that were used as booleans to bool.
Timo Sirainen <tss@iki.fi>
parents:
3620
diff
changeset
|
10 void lib_signals_set_handler(int signo, bool delayed, |
3620
3360cc019737
Implemented new signal handling framework, which makes handling signals much
Timo Sirainen <tss@iki.fi>
parents:
2880
diff
changeset
|
11 signal_handler_t *handler, void *context); |
4903
204d7edc7cdc
Added context parameter type safety checks for most callback APIs.
Timo Sirainen <tss@iki.fi>
parents:
4252
diff
changeset
|
12 /* Ignore given signal. */ |
204d7edc7cdc
Added context parameter type safety checks for most callback APIs.
Timo Sirainen <tss@iki.fi>
parents:
4252
diff
changeset
|
13 void lib_signals_ignore(int signo, bool restart_syscalls); |
3620
3360cc019737
Implemented new signal handling framework, which makes handling signals much
Timo Sirainen <tss@iki.fi>
parents:
2880
diff
changeset
|
14 void lib_signals_unset_handler(int signo, |
3360cc019737
Implemented new signal handling framework, which makes handling signals much
Timo Sirainen <tss@iki.fi>
parents:
2880
diff
changeset
|
15 signal_handler_t *handler, void *context); |
3360cc019737
Implemented new signal handling framework, which makes handling signals much
Timo Sirainen <tss@iki.fi>
parents:
2880
diff
changeset
|
16 |
8367
0d49326397b4
Added lib_signals_reset_ioloop() for handling signals with multiple ioloops.
Timo Sirainen <tss@iki.fi>
parents:
6410
diff
changeset
|
17 /* Remove and add the internal I/O handler back. This is necessary to get |
0d49326397b4
Added lib_signals_reset_ioloop() for handling signals with multiple ioloops.
Timo Sirainen <tss@iki.fi>
parents:
6410
diff
changeset
|
18 the delayed signals to work when using multiple I/O loops. */ |
0d49326397b4
Added lib_signals_reset_ioloop() for handling signals with multiple ioloops.
Timo Sirainen <tss@iki.fi>
parents:
6410
diff
changeset
|
19 void lib_signals_reset_ioloop(void); |
0d49326397b4
Added lib_signals_reset_ioloop() for handling signals with multiple ioloops.
Timo Sirainen <tss@iki.fi>
parents:
6410
diff
changeset
|
20 |
3620
3360cc019737
Implemented new signal handling framework, which makes handling signals much
Timo Sirainen <tss@iki.fi>
parents:
2880
diff
changeset
|
21 void lib_signals_init(void); |
3360cc019737
Implemented new signal handling framework, which makes handling signals much
Timo Sirainen <tss@iki.fi>
parents:
2880
diff
changeset
|
22 void lib_signals_deinit(void); |
0 | 23 |
24 #endif |