@@ -89,40 +89,53 @@ use std::task::{Context, Poll};
89
89
#[ cfg( unix) ]
90
90
use std:: os:: unix:: io:: { AsFd , AsRawFd , BorrowedFd , RawFd } ;
91
91
92
- #[ cfg( windows) ]
93
- mod libc {
92
+ mod signum {
94
93
pub ( crate ) use std:: os:: raw:: c_int;
95
94
96
- // Copy-pasted from the libc crate
97
- pub const SIGHUP : c_int = 1 ;
98
- pub const SIGINT : c_int = 2 ;
99
- pub const SIGQUIT : c_int = 3 ;
100
- pub const SIGILL : c_int = 4 ;
101
- pub const SIGTRAP : c_int = 5 ;
102
- pub const SIGABRT : c_int = 6 ;
103
- pub const SIGFPE : c_int = 8 ;
104
- pub const SIGKILL : c_int = 9 ;
105
- pub const SIGSEGV : c_int = 11 ;
106
- pub const SIGPIPE : c_int = 13 ;
107
- pub const SIGALRM : c_int = 14 ;
108
- pub const SIGTERM : c_int = 15 ;
109
- pub const SIGTTIN : c_int = 21 ;
110
- pub const SIGTTOU : c_int = 22 ;
111
- pub const SIGXCPU : c_int = 24 ;
112
- pub const SIGXFSZ : c_int = 25 ;
113
- pub const SIGVTALRM : c_int = 26 ;
114
- pub const SIGPROF : c_int = 27 ;
115
- pub const SIGWINCH : c_int = 28 ;
116
- pub const SIGCHLD : c_int = 17 ;
117
- pub const SIGBUS : c_int = 7 ;
118
- pub const SIGUSR1 : c_int = 10 ;
119
- pub const SIGUSR2 : c_int = 12 ;
120
- pub const SIGCONT : c_int = 18 ;
121
- pub const SIGSTOP : c_int = 19 ;
122
- pub const SIGTSTP : c_int = 20 ;
123
- pub const SIGURG : c_int = 23 ;
124
- pub const SIGIO : c_int = 29 ;
125
- pub const SIGSYS : c_int = 31 ;
95
+ macro_rules! sig {
96
+ ( $rustix_name: ident, $raw_value: literal) => { {
97
+ #[ cfg( unix) ]
98
+ {
99
+ rustix:: process:: Signal :: $rustix_name as c_int
100
+ }
101
+
102
+ #[ cfg( windows) ]
103
+ {
104
+ $raw_value
105
+ }
106
+ } } ;
107
+ }
108
+
109
+ // Define these ourselves.
110
+ pub const SIGHUP : c_int = sig ! ( Hup , 1 ) ;
111
+ pub const SIGINT : c_int = sig ! ( Int , 2 ) ;
112
+ pub const SIGQUIT : c_int = sig ! ( Quit , 3 ) ;
113
+ pub const SIGILL : c_int = sig ! ( Ill , 4 ) ;
114
+ pub const SIGTRAP : c_int = sig ! ( Trap , 5 ) ;
115
+ pub const SIGABRT : c_int = sig ! ( Abort , 6 ) ;
116
+ pub const SIGFPE : c_int = sig ! ( Fpe , 8 ) ;
117
+ pub const SIGKILL : c_int = sig ! ( Kill , 9 ) ;
118
+ pub const SIGSEGV : c_int = sig ! ( Segv , 11 ) ;
119
+ pub const SIGPIPE : c_int = sig ! ( Pipe , 13 ) ;
120
+ pub const SIGALRM : c_int = sig ! ( Alarm , 14 ) ;
121
+ pub const SIGTERM : c_int = sig ! ( Term , 15 ) ;
122
+ pub const SIGTTIN : c_int = sig ! ( Ttin , 21 ) ;
123
+ pub const SIGTTOU : c_int = sig ! ( Ttou , 22 ) ;
124
+ pub const SIGXCPU : c_int = sig ! ( Xcpu , 24 ) ;
125
+ pub const SIGXFSZ : c_int = sig ! ( Xfsz , 25 ) ;
126
+ pub const SIGVTALRM : c_int = sig ! ( Vtalarm , 26 ) ;
127
+ pub const SIGPROF : c_int = sig ! ( Prof , 27 ) ;
128
+ pub const SIGWINCH : c_int = sig ! ( Winch , 28 ) ;
129
+ pub const SIGCHLD : c_int = sig ! ( Child , 17 ) ;
130
+ pub const SIGBUS : c_int = sig ! ( Bus , 7 ) ;
131
+ pub const SIGUSR1 : c_int = sig ! ( Usr1 , 10 ) ;
132
+ pub const SIGUSR2 : c_int = sig ! ( Usr2 , 12 ) ;
133
+ pub const SIGCONT : c_int = sig ! ( Cont , 18 ) ;
134
+ pub const SIGSTOP : c_int = sig ! ( Stop , 19 ) ;
135
+ pub const SIGTSTP : c_int = sig ! ( Tstp , 20 ) ;
136
+ pub const SIGURG : c_int = sig ! ( Urg , 23 ) ;
137
+ pub const SIGIO : c_int = sig ! ( Io , 29 ) ;
138
+ pub const SIGSYS : c_int = sig ! ( Sys , 31 ) ;
126
139
}
127
140
128
141
macro_rules! define_signal_enum {
@@ -141,26 +154,26 @@ macro_rules! define_signal_enum {
141
154
pub enum Signal {
142
155
$(
143
156
$( #[ $inner] ) *
144
- $name = libc :: $value,
157
+ $name = signum :: $value,
145
158
) *
146
159
}
147
160
148
161
impl Signal {
149
162
/// Returns the signal number.
150
- fn number( self ) -> libc :: c_int {
163
+ fn number( self ) -> std :: os :: raw :: c_int {
151
164
match self {
152
165
$(
153
- Signal :: $name => libc :: $value,
166
+ Signal :: $name => signum :: $value,
154
167
) *
155
168
}
156
169
}
157
170
158
171
/// Parse a signal from its number.
159
172
#[ cfg( unix) ]
160
- fn from_number( number: libc :: c_int) -> Option <Self > {
173
+ fn from_number( number: std :: os :: raw :: c_int) -> Option <Self > {
161
174
match number {
162
175
$(
163
- libc :: $value => Some ( Signal :: $name) ,
176
+ signum :: $value => Some ( Signal :: $name) ,
164
177
) *
165
178
_ => None ,
166
179
}
0 commit comments