mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-02-07 23:13:34 +00:00
This will help C++ code that uses exceptions to be tinier. For example, this change shaves away 1000 lines of assembly code from LLVM's libcxx, which is 0.7% of all assembly instructions in the entire library.
24 lines
671 B
C
24 lines
671 B
C
#ifndef COSMOPOLITAN_LIBC_CALLS_STRUCT_SIGACTION_H_
|
|
#define COSMOPOLITAN_LIBC_CALLS_STRUCT_SIGACTION_H_
|
|
#include "libc/calls/struct/siginfo.h"
|
|
#include "libc/calls/struct/sigset.h"
|
|
COSMOPOLITAN_C_START_
|
|
|
|
typedef void (*sighandler_t)(int);
|
|
typedef void (*sigaction_f)(int, struct siginfo *, void *);
|
|
|
|
struct sigaction {
|
|
union {
|
|
sighandler_t sa_handler;
|
|
sigaction_f sa_sigaction;
|
|
};
|
|
uint64_t sa_flags;
|
|
void (*sa_restorer)(void);
|
|
sigset_t sa_mask;
|
|
};
|
|
|
|
sighandler_t signal(int, sighandler_t) libcesque;
|
|
int sigaction(int, const struct sigaction *, struct sigaction *) libcesque;
|
|
|
|
COSMOPOLITAN_C_END_
|
|
#endif /* COSMOPOLITAN_LIBC_CALLS_STRUCT_SIGACTION_H_ */
|