aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/platform
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2014-03-22 00:19:02 -0600
committerJason A. Donenfeld <Jason@zx2c4.com>2014-03-22 00:32:04 -0600
commitef16fc0fbede889f1123eace27c6eedf64295497 (patch)
treead7cb2c4e300809928a913e6190bbef8e8a046f0 /src/platform
parentclip: use pkill instead of proc (diff)
downloadpassword-store-ef16fc0fbede889f1123eace27c6eedf64295497.tar.xz
password-store-ef16fc0fbede889f1123eace27c6eedf64295497.zip
clip: do not race on osx
Diffstat (limited to 'src/platform')
-rw-r--r--src/platform/darwin.sh10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/platform/darwin.sh b/src/platform/darwin.sh
index fac47b1..f964cdd 100644
--- a/src/platform/darwin.sh
+++ b/src/platform/darwin.sh
@@ -1,15 +1,15 @@
-# Copyright (C) 2012 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
+# Copyright (C) 2012 - 2014 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
# This file is licensed under the GPLv2+. Please see COPYING for more information.
clip() {
+ sleep_argv0="password store sleep for user $(id -u)"
+ pkill -f "^$sleep_argv0" && sleep 0.1
before="$(pbpaste | openssl base64)"
echo -n "$1" | pbcopy
(
- sleep 45
+ ( exec -a "$sleep_argv0" sleep "$CLIP_TIME" )
now="$(pbpaste | openssl base64)"
- if [[ $now != $(echo -n "$1" | openssl base64) ]]; then
- before="$now"
- fi
+ [[ $now != $(echo -n "$1" | openssl base64) ]] && before="$now"
echo "$before" | openssl base64 -d | pbcopy
) & disown
echo "Copied $2 to clipboard. Will clear in 45 seconds."