File tree Expand file tree Collapse file tree 6 files changed +68
-0
lines changed Expand file tree Collapse file tree 6 files changed +68
-0
lines changed Original file line number Diff line number Diff line change @@ -71,6 +71,11 @@ name = "errqueue"
7171path = " test/errqueue.rs"
7272harness = true
7373
74+ [[test ]]
75+ name = " sigrt"
76+ path = " test/sigrt.rs"
77+ harness = true
78+
7479[[test ]]
7580name = " semver"
7681path = " test/semver.rs"
Original file line number Diff line number Diff line change @@ -26,6 +26,13 @@ fn do_cc() {
2626 if target. contains ( "android" ) || target. contains ( "linux" ) {
2727 cc:: Build :: new ( ) . file ( "src/errqueue.c" ) . compile ( "errqueue" ) ;
2828 }
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+ }
2936}
3037
3138fn do_ctest ( ) {
Original file line number Diff line number Diff line change @@ -1972,6 +1972,8 @@ SIGEV_SIGNAL
19721972SIGEV_THREAD
19731973SIGPOLL
19741974SIGPWR
1975+ SIGRTMAX
1976+ SIGRTMIN
19751977SIGSTKSZ
19761978SIOCADDMULTI
19771979SIOCADDRT
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! {
14181418}
14191419
14201420safe_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+
14211429 pub { const } fn WIFSTOPPED ( status: :: c_int) -> bool {
14221430 ( status & 0xff ) == 0x7f
14231431 }
@@ -1480,6 +1488,11 @@ safe_f! {
14801488}
14811489
14821490extern "C" {
1491+ #[ doc( hidden) ]
1492+ pub fn __libc_current_sigrtmax ( ) -> :: c_int ;
1493+ #[ doc( hidden) ]
1494+ pub fn __libc_current_sigrtmin ( ) -> :: c_int ;
1495+
14831496 pub fn sem_destroy ( sem : * mut sem_t ) -> :: c_int ;
14841497 pub fn sem_init ( sem : * mut sem_t , pshared : :: c_int , value : :: c_uint ) -> :: c_int ;
14851498 pub fn fdatasync ( fd : :: c_int ) -> :: c_int ;
You can’t perform that action at this time.
0 commit comments