about summary refs log tree commit diff
path: root/compiler/rustc
diff options
context:
space:
mode:
authorMartin Nordholts <enselic@gmail.com>2022-10-02 17:31:43 +0200
committerMartin Nordholts <enselic@gmail.com>2022-10-02 17:49:36 +0200
commit093b075d327d1c7c7e0730e46f1d5c2d4aa47f5a (patch)
tree49ae7a0d88fe87c54350fcd33f83de2dba53e570 /compiler/rustc
parent756e7be5eb923ec955dfd8dec2a0d3ac81cfdf55 (diff)
downloadrust-093b075d327d1c7c7e0730e46f1d5c2d4aa47f5a.tar.gz
rust-093b075d327d1c7c7e0730e46f1d5c2d4aa47f5a.zip
rustc: Use `unix_sigpipe` instead of `rustc_driver::set_sigpipe_handler`
This is the first (known) step towards starting to use `unix_sigpipe` in
the wild. Eventually, `rustc_driver::set_sigpipe_handler` can be removed
and all clients can use `unix_sigpipe` instead.

For now we just start using `unix_sigpipe` in once place: `rustc`
itself.

It is easy to manually verify this change. If you remove
`#[unix_sigpipe = "sig_dfl"]` and run `./x.py build` you will get an ICE
when you do `./build/x86_64-unknown-linux-gnu/stage1/bin/rustc --help |
false`. Add back `#[unix_sigpipe = "sig_dfl"]` and the ICE disappears
again.
Diffstat (limited to 'compiler/rustc')
-rw-r--r--compiler/rustc/src/main.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/compiler/rustc/src/main.rs b/compiler/rustc/src/main.rs
index 0de1a781913..e21c9b66044 100644
--- a/compiler/rustc/src/main.rs
+++ b/compiler/rustc/src/main.rs
@@ -1,3 +1,5 @@
+#![feature(unix_sigpipe)]
+
 // A note about jemalloc: rustc uses jemalloc when built for CI and
 // distribution. The obvious way to do this is with the `#[global_allocator]`
 // mechanism. However, for complicated reasons (see
@@ -23,6 +25,7 @@
 // libraries. So we must reference jemalloc symbols one way or another, because
 // this file is the only object code in the rustc executable.
 
+#[unix_sigpipe = "sig_dfl"]
 fn main() {
     // See the comment at the top of this file for an explanation of this.
     #[cfg(feature = "jemalloc-sys")]
@@ -58,6 +61,5 @@ fn main() {
         }
     }
 
-    rustc_driver::set_sigpipe_handler();
     rustc_driver::main()
 }