Browse Source

Move SIG_IGN and friends to C in order to define them correctly

Jeremy Soller 5 years ago
parent
commit
e7d19e2a58
3 changed files with 12 additions and 3 deletions
  1. 8 0
      include/bits/signal.h
  2. 1 0
      src/header/signal/cbindgen.toml
  3. 3 3
      src/header/signal/mod.rs

+ 8 - 0
include/bits/signal.h

@@ -0,0 +1,8 @@
+#ifndef _BITS_SIGNAL_H
+#define _BITS_SIGNAL_H
+
+#define SIG_DFL ((void (*)(int))0)
+#define SIG_IGN ((void (*)(int))1)
+#define SIG_ERR ((void (*)(int))-1)
+
+#endif // _BITS_SIGNAL_H

+ 1 - 0
src/header/signal/cbindgen.toml

@@ -1,5 +1,6 @@
 sys_includes = ["stdint.h", "sys/types.h"]
 include_guard = "_SIGNAL_H"
+trailer = "#include <bits/signal.h>"
 language = "C"
 style = "Tag"
 no_includes = true

+ 3 - 3
src/header/signal/mod.rs

@@ -21,9 +21,9 @@ pub mod sys;
 
 type SigSet = BitSet<[c_ulong; 1]>;
 
-pub const SIG_DFL: usize = 0;
-pub const SIG_IGN: usize = 1;
-pub const SIG_ERR: isize = -1;
+pub (crate) const SIG_DFL: usize = 0;
+pub (crate) const SIG_IGN: usize = 1;
+pub (crate) const SIG_ERR: isize = -1;
 
 pub const SIG_BLOCK: c_int = 0;
 pub const SIG_UNBLOCK: c_int = 1;