File tree 6 files changed +68
-0
lines changed
6 files changed +68
-0
lines changed Original file line number Diff line number Diff line change @@ -71,6 +71,11 @@ name = "errqueue"
71
71
path = " test/errqueue.rs"
72
72
harness = true
73
73
74
+ [[test ]]
75
+ name = " sigrt"
76
+ path = " test/sigrt.rs"
77
+ harness = true
78
+
74
79
[[test ]]
75
80
name = " semver"
76
81
path = " test/semver.rs"
Original file line number Diff line number Diff line change @@ -26,6 +26,13 @@ fn do_cc() {
26
26
if target. contains ( "android" ) || target. contains ( "linux" ) {
27
27
cc:: Build :: new ( ) . file ( "src/errqueue.c" ) . compile ( "errqueue" ) ;
28
28
}
29
+ if target. contains ( "linux" )
30
+ || target. contains ( "l4re" )
31
+ || target. contains ( "android" )
32
+ || target. contains ( "emscripten" )
33
+ {
34
+ cc:: Build :: new ( ) . file ( "src/sigrt.c" ) . compile ( "sigrt" ) ;
35
+ }
29
36
}
30
37
31
38
fn do_ctest ( ) {
Original file line number Diff line number Diff line change @@ -1972,6 +1972,8 @@ SIGEV_SIGNAL
1972
1972
SIGEV_THREAD
1973
1973
SIGPOLL
1974
1974
SIGPWR
1975
+ SIGRTMAX
1976
+ SIGRTMIN
1975
1977
SIGSTKSZ
1976
1978
SIOCADDMULTI
1977
1979
SIOCADDRT
Original file line number Diff line number Diff line change
1
+ #include <signal.h>
2
+
3
+ int sigrtmax () {
4
+ return SIGRTMAX ;
5
+ }
6
+
7
+ int sigrtmin () {
8
+ return SIGRTMIN ;
9
+ }
Original file line number Diff line number Diff line change
1
+ //! Compare libc's SIGRTMAX and SIGRTMIN functions against the actual C macros
2
+
3
+ extern crate libc;
4
+
5
+ #[ cfg( any(
6
+ target_os = "linux" ,
7
+ target_os = "l4re" ,
8
+ target_os = "android" ,
9
+ target_os = "emscripten"
10
+ ) ) ]
11
+ mod t {
12
+ use libc;
13
+
14
+ extern "C" {
15
+ pub fn sigrtmax ( ) -> libc:: c_int ;
16
+ pub fn sigrtmin ( ) -> libc:: c_int ;
17
+ }
18
+
19
+ #[ test]
20
+ fn test_sigrtmax ( ) {
21
+ unsafe {
22
+ assert_eq ! ( libc:: SIGRTMAX ( ) , sigrtmax( ) ) ;
23
+ }
24
+ }
25
+
26
+ #[ test]
27
+ fn test_sigrtmin ( ) {
28
+ unsafe {
29
+ assert_eq ! ( libc:: SIGRTMIN ( ) , sigrtmin( ) ) ;
30
+ }
31
+ }
32
+ }
Original file line number Diff line number Diff line change @@ -1418,6 +1418,14 @@ f! {
1418
1418
}
1419
1419
1420
1420
safe_f ! {
1421
+ pub fn SIGRTMAX ( ) -> :: c_int {
1422
+ unsafe { __libc_current_sigrtmax( ) }
1423
+ }
1424
+
1425
+ pub fn SIGRTMIN ( ) -> :: c_int {
1426
+ unsafe { __libc_current_sigrtmin( ) }
1427
+ }
1428
+
1421
1429
pub { const } fn WIFSTOPPED ( status: :: c_int) -> bool {
1422
1430
( status & 0xff ) == 0x7f
1423
1431
}
@@ -1480,6 +1488,11 @@ safe_f! {
1480
1488
}
1481
1489
1482
1490
extern "C" {
1491
+ #[ doc( hidden) ]
1492
+ pub fn __libc_current_sigrtmax ( ) -> :: c_int ;
1493
+ #[ doc( hidden) ]
1494
+ pub fn __libc_current_sigrtmin ( ) -> :: c_int ;
1495
+
1483
1496
pub fn sem_destroy ( sem : * mut sem_t ) -> :: c_int ;
1484
1497
pub fn sem_init ( sem : * mut sem_t , pshared : :: c_int , value : :: c_uint ) -> :: c_int ;
1485
1498
pub fn fdatasync ( fd : :: c_int ) -> :: c_int ;
You can’t perform that action at this time.
0 commit comments