|
|
1.1 root 1: //////////
2: / libc/sys/i386/signal.s
3: / Copyright (c) Ciaran O'Donnell, Bievres (FRANCE), 1991.
4: //////////
5:
6: / #include <signal.h>
7:
8: .globl sighold
9: .globl sigrelse
10: .globl sigignore
11: .globl sigpause
12: .globl sigset
13: .globl signal
14: .globl .cerror
15:
16: .set SIGDEFER, 0x100
17: .set SIGHOLD, 0x200
18: .set SIGRELSE, 0x400
19: .set SIGIGNORE, 0x800
20: .set SIGPAUSE, 0x1000
21: .set SIGDEFAULT, 0x8000
22:
23:
24: sighold:
25: or $SIGHOLD,4(%esp)
26: jmp signal
27:
28: sigrelse:
29: or $SIGRELSE,4(%esp)
30: jmp signal
31:
32: sigignore:
33: or $SIGIGNORE,4(%esp)
34: jmp signal
35:
36: sigpause:
37: or $SIGPAUSE,4(%esp)
38: jmp signal
39:
40: / sigset(sig, SIG_DFL)
41: / sigset(sig, SIG_IGN)
42: / sigset(sig, proc)
43:
44: sigset:
45: or $SIGDEFER,4(%esp)
46:
47: / signal(sig, SIG_DFL)
48: / signal(sig, SIG_IGN)
49: / signal(sig, proc)
50:
51: signal:
52: movl $sigreturn,%edx / proc = &sigreturn
53: movl $48, %eax
54: lcall $0x7, $0 / if old_sys = sigsys(sig)<0
55: jc .cerror / return -1
56: orl %eax,%eax
57: ret
58:
59: sigreturn:
60: addl $4, %esp
61: lcall $0xf, $0
62:
63: / end of libc/sys/i386/signal.s
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.