Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions .vscode/cspell.dictionaries/jargon.wordlist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -254,3 +254,29 @@ Hijri
Nowruz
charmap
hijri

csignal
noent
nptl
oldset
ptrs
rdband
rustix
setmask
sigaddset
sigemptyset
sigfillset
sighandler
sigmask
signum
sigprocmask
sigrtmin
sigset
sigsys
esrch
SRCH
Nofile
rprocess
statat
getdents
SIGTHR
3 changes: 2 additions & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 5 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -450,9 +450,11 @@
rstest_reuse = "0.7.0"
rustc-hash = "2.1.1"
rust-ini = "0.21.0"
# binary name of coreutils can be hijacked by overriding getauxval via LD_PRELOAD
# So we use param and avoid libc backend
rustix = { version = "1.1.4", features = ["param"] }
# use-libc: route syscalls through glibc instead of direct inline assembly,
# ensuring compatibility with LD_PRELOAD, sanitizers, and glibc optimizations (e.g. getpid cache)

Check failure on line 454 in Cargo.toml

View workflow job for this annotation

GitHub Actions / Style/spelling (ubuntu-latest, feat_os_unix)

ERROR: `cspell`: Unknown word 'getpid' (file:'Cargo.toml', line:454)
rustix = { version = "1.1.4", default-features = false, features = [
"use-libc",
] }
same-file = "1.0.6"
self_cell = "1.0.4"
selinux = "0.6"
Expand Down
11 changes: 10 additions & 1 deletion src/uu/env/src/env.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1080,7 +1080,16 @@ where
let Ok(sig) = signal_from_value(sig_value) else {
return Ok(());
};
signal_fn(sig)?;
match signal_fn(sig) {
Ok(()) => {}
Err(_) if !explicit => {
// When applying to all signals, silently skip signals that
// the OS refuses to change (e.g. SIGTHR on OpenBSD).
// GNU env also ignores these.
return Ok(());
}
Err(e) => return Err(e),
}
log.record(sig_value, action_kind, explicit);

// Set environment variable to communicate to Rust child processes
Expand Down
Loading