summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Shumaker <shumakl@purdue.edu>2015-12-10 21:14:23 -0500
committerLuke Shumaker <lukeshu@sbcglobal.net>2015-12-12 17:28:09 -0500
commit21bb3f7fb1111d8b1043ff4c3a1d821042a8e4c6 (patch)
tree2b3913cd0bd4becd19b50f3f489870aee80a2d17
parent259b88d6f8df12ff737257a4ef0a3ab23ab2bdb9 (diff)
XDG_RUNTIME_DIR: "Recent" Linux kernels support flock over NFS.
And Purdue seems to have enabled that.
-rw-r--r--.config/login.d/02_xdg_runtime_dir.sh11
1 files changed, 5 insertions, 6 deletions
diff --git a/.config/login.d/02_xdg_runtime_dir.sh b/.config/login.d/02_xdg_runtime_dir.sh
index 6e3e4ad..86f1232 100644
--- a/.config/login.d/02_xdg_runtime_dir.sh
+++ b/.config/login.d/02_xdg_runtime_dir.sh
@@ -1,12 +1,11 @@
#!/hint/sh
-
# Set XDG_RUNTIME_DIR if we can
if [ -z "$XDG_RUNTIME_DIR" ] && type flock &>/dev/null; then
_diy_xdg_runtime_login() {
- export XDG_RUNTIME_DIR="$XDG_CACHE_HOME/xdg-runtime-dir/$HOSTNAME"
- if ! [ /dev/fd/7 -ef "$XDG_CACHE_HOME/xdg-runtime-dir/.lock" ]; then
- mkdir -p -- "$XDG_CACHE_HOME/xdg-runtime-dir"
- exec 7>"$XDG_CACHE_HOME/xdg-runtime-dir/.lock"
+ export XDG_RUNTIME_DIR="$XDG_CACHE_HOME/xdg-runtime-dir/$HOSTNAME.dir"
+ if ! [ /dev/fd/7 -ef "$XDG_CACHE_HOME/xdg-runtime-dir/$HOSTNAME.lock" ]; then
+ mkdir -p -- "$XDG_CACHE_HOME/xdg-runtime-dir"
+ exec 7>"$XDG_CACHE_HOME/xdg-runtime-dir/$HOSTNAME.lock"
if flock -xn 7; then
if [ ! -d "$XDG_RUNTIME_DIR" ]; then
local tmp="$(mktemp -d --tmpdir -- "${USER}@${HOSTNAME}-runtime.XXXXXXXXXX")"
@@ -19,9 +18,9 @@ if [ -z "$XDG_RUNTIME_DIR" ] && type flock &>/dev/null; then
fi
}
_diy_xdg_runtime_logout() {
- exec 7>"$XDG_CACHE_HOME/xdg-runtime-dir/.lock"
if flock -xn 7; then
rm -rf -- "$(readlink "$XDG_RUNTIME_DIR")"
+ rm -f -- "$XDG_RUNTIME_DIR"
fi
}
_diy_xdg_runtime_login