… | |
… | |
4376 | provide your own type that you know is safe for your purposes. It is used |
4376 | provide your own type that you know is safe for your purposes. It is used |
4377 | both for signal handler "locking" as well as for signal and thread safety |
4377 | both for signal handler "locking" as well as for signal and thread safety |
4378 | in C<ev_async> watchers. |
4378 | in C<ev_async> watchers. |
4379 | |
4379 | |
4380 | In the absence of this define, libev will use C<sig_atomic_t volatile> |
4380 | In the absence of this define, libev will use C<sig_atomic_t volatile> |
4381 | (from F<signal.h>), which is usually good enough on most platforms. |
4381 | (from F<signal.h>), which is usually good enough on most platforms, |
|
|
4382 | although strictly speaking using a type that also implies a memory fence |
|
|
4383 | is required. |
4382 | |
4384 | |
4383 | =item EV_H (h) |
4385 | =item EV_H (h) |
4384 | |
4386 | |
4385 | The name of the F<ev.h> header file used to include it. The default if |
4387 | The name of the F<ev.h> header file used to include it. The default if |
4386 | undefined is C<"ev.h"> in F<event.h>, F<ev.c> and F<ev++.h>. This can be |
4388 | undefined is C<"ev.h"> in F<event.h>, F<ev.c> and F<ev++.h>. This can be |