about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMartin Kröning <mkroening@posteo.net>2023-07-01 17:48:40 +0200
committerMartin Kröning <martin.kroening@eonerc.rwth-aachen.de>2023-07-24 18:25:30 +0200
commit553804754a3031cf98394d67966257196aabe724 (patch)
treefa037d6d07712db2497e7fbbdd9c74c136d205b3
parent7485e9c9652c8add0a10302b4a4076148f3b626c (diff)
downloadrust-553804754a3031cf98394d67966257196aabe724.tar.gz
rust-553804754a3031cf98394d67966257196aabe724.zip
`unix::init`: Don't use `signal` on Unikraft.
Signed-off-by: Martin Kröning <martin.kroening@eonerc.rwth-aachen.de>
-rw-r--r--library/std/src/sys/unix/mod.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/library/std/src/sys/unix/mod.rs b/library/std/src/sys/unix/mod.rs
index 9d52f414574..77ef086f29b 100644
--- a/library/std/src/sys/unix/mod.rs
+++ b/library/std/src/sys/unix/mod.rs
@@ -170,7 +170,14 @@ pub unsafe fn init(argc: isize, argv: *const *const u8, sigpipe: u8) {
     }
 
     unsafe fn reset_sigpipe(#[allow(unused_variables)] sigpipe: u8) {
-        #[cfg(not(any(target_os = "emscripten", target_os = "fuchsia", target_os = "horizon")))]
+        #[cfg(not(any(
+            target_os = "emscripten",
+            target_os = "fuchsia",
+            target_os = "horizon",
+            // Unikraft's `signal` implementation is currently broken:
+            // https://github.com/unikraft/lib-musl/issues/57
+            target_vendor = "unikraft",
+        )))]
         {
             // We don't want to add this as a public type to std, nor do we
             // want to `include!` a file from the compiler (which would break