File tree 1 file changed +6
-2
lines changed
1 file changed +6
-2
lines changed Original file line number Diff line number Diff line change @@ -273,10 +273,11 @@ unsafe fn handle_signal(signal: Signal, handler: libc::sighandler_t) {
273
273
let mut empty_sigset: libc:: sigset_t = std:: mem:: zeroed :: < libc:: sigset_t > ( ) ;
274
274
// never fails
275
275
libc:: sigemptyset ( & mut empty_sigset) ;
276
+
276
277
let action = libc:: sigaction {
277
278
sa_sigaction : handler,
278
279
sa_mask : empty_sigset,
279
- sa_flags : 0 ,
280
+ sa_flags : libc :: SA_SIGINFO ,
280
281
sa_restorer : None ,
281
282
} ;
282
283
let result = libc:: sigaction ( signal. into ( ) , & action, std:: ptr:: null_mut ( ) ) ;
@@ -294,7 +295,10 @@ pub unsafe fn handle_signal_default(signal: Signal) {
294
295
}
295
296
296
297
pub unsafe fn handle_signal_write_to_signal_buffer ( signal : Signal ) {
297
- handle_signal ( signal, & write_signal_to_buffer as * const _ as libc:: size_t )
298
+ handle_signal (
299
+ signal,
300
+ write_signal_to_buffer as * const extern "C" fn ( libc:: c_int ) as libc:: sighandler_t ,
301
+ )
298
302
}
299
303
300
304
#[ derive( Clone ) ]
You can’t perform that action at this time.
0 commit comments