cython

Форк
0
73 строки · 1.8 Кб
1
# 7.14 Signal handling <signal.h>
2

3
from posix.types cimport pid_t, sigset_t, uid_t
4

5
cdef extern from "<signal.h>" nogil:
6

7
    cdef union sigval:
8
        int  sival_int
9
        void *sival_ptr
10

11
    cdef struct sigevent:
12
        int    sigev_notify
13
        int    sigev_signo
14
        sigval sigev_value
15
        void   sigev_notify_function(sigval)
16

17
    ctypedef struct siginfo_t:
18
        int    si_signo
19
        int    si_code
20
        int    si_errno
21
        pid_t  si_pid
22
        uid_t  si_uid
23
        void   *si_addr
24
        int    si_status
25
        long   si_band
26
        sigval si_value
27

28
    cdef struct sigaction_t "sigaction":
29
        void     sa_handler(int)
30
        void     sa_sigaction(int, siginfo_t *, void *)
31
        sigset_t sa_mask
32
        int      sa_flags
33

34
    ctypedef struct stack_t:
35
        void  *ss_sp
36
        int ss_flags
37
        size_t ss_size
38

39
    enum: SA_NOCLDSTOP
40
    enum: SIG_BLOCK
41
    enum: SIG_UNBLOCK
42
    enum: SIG_SETMASK
43
    enum: SA_ONSTACK
44
    enum: SA_RESETHAND
45
    enum: SA_RESTART
46
    enum: SA_SIGINFO
47
    enum: SA_NOCLDWAIT
48
    enum: SA_NODEFER
49
    enum: SS_ONSTACK
50
    enum: SS_DISABLE
51
    enum: MINSIGSTKSZ
52
    enum: SIGSTKSZ
53

54
    enum: SIGEV_NONE
55
    enum: SIGEV_SIGNAL
56
    enum: SIGEV_THREAD
57
    enum: SIGEV_THREAD_ID
58

59

60
    int          kill          (pid_t, int)
61
    int          killpg        (pid_t, int)
62
    int          sigaction     (int, const sigaction_t *, sigaction_t *)
63
    int          sigpending    (sigset_t *)
64
    int          sigprocmask   (int, const sigset_t *, sigset_t *)
65
    int          sigsuspend    (const sigset_t *)
66

67
    int          sigaddset     (sigset_t *, int)
68
    int          sigdelset     (sigset_t *, int)
69
    int          sigemptyset   (sigset_t *)
70
    int          sigfillset    (sigset_t *)
71
    int          sigismember   (const sigset_t *, int)
72

73
    int sigaltstack(const stack_t *, stack_t *)
74

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.