about summary refs log tree commit diff
path: root/src/test/ui/attributes/unix_sigpipe/unix_sigpipe-start.rs
diff options
context:
space:
mode:
authorMartin Nordholts <enselic@gmail.com>2022-07-05 19:56:22 +0200
committerMartin Nordholts <enselic@gmail.com>2022-08-28 19:46:45 +0200
commitddee45e1d7fd34563c13513d974f792fae41a2f7 (patch)
tree680a1cbbe412897e2a0acae57e93d6ffe09a07cd /src/test/ui/attributes/unix_sigpipe/unix_sigpipe-start.rs
parentee285eab69d515114ed54a8e6c25e359acd6b684 (diff)
downloadrust-ddee45e1d7fd34563c13513d974f792fae41a2f7.tar.gz
rust-ddee45e1d7fd34563c13513d974f792fae41a2f7.zip
Support `#[unix_sigpipe = "inherit|sig_dfl|sig_ign"]` on `fn main()`
This makes it possible to instruct libstd to never touch the signal
handler for `SIGPIPE`, which makes programs pipeable by default (e.g.
with `./your-program | head -n 1`) without `ErrorKind::BrokenPipe`
errors.
Diffstat (limited to 'src/test/ui/attributes/unix_sigpipe/unix_sigpipe-start.rs')
-rw-r--r--src/test/ui/attributes/unix_sigpipe/unix_sigpipe-start.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/test/ui/attributes/unix_sigpipe/unix_sigpipe-start.rs b/src/test/ui/attributes/unix_sigpipe/unix_sigpipe-start.rs
new file mode 100644
index 00000000000..64fd5ec4f0e
--- /dev/null
+++ b/src/test/ui/attributes/unix_sigpipe/unix_sigpipe-start.rs
@@ -0,0 +1,6 @@
+#![feature(start)]
+#![feature(unix_sigpipe)]
+
+#[start]
+#[unix_sigpipe = "inherit"] //~ error: `unix_sigpipe` attribute can only be used on `fn main()`
+fn custom_start(argc: isize, argv: *const *const u8) -> isize { 0 }