<p dir="ltr">Could be a file instead of a folder. </p>
<br><div class="gmail_quote"><div dir="ltr">On Tue, Jul 19, 2016, 19:36 mitfree <<a href="mailto:lists@ampling.com">lists@ampling.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
This is my third patch to passmenu; the last was on May 14th, 2016.<br>
<br>
If you install this patch, passmenu lock will have a '.lock' extension.<br>
My first email on May 8th, 2016 better explains why I'm using a file<br>
lock and adding a multiclip feature in the first place. This file lock<br>
business is just an empty folder which holds the pid of passmenu in the<br>
filename. It's a safe (cross platform) way to prevent two passmenu sessions<br>
from running at the same time. I'm aiming for a more consistent user<br>
experience.<br>
<br>
I hope you find this update to be as stable as I found the last patch.<br>
I'm testing on Linux. I would particularly welcome feedback from others.<br>
<br>
For those who like github:<br>
<a href="https://github.com/ampling/pass/blob/passmenu_multi-clip/contrib/dmenu/passmenu" rel="noreferrer" target="_blank">https://github.com/ampling/pass/blob/passmenu_multi-clip/contrib/dmenu/passmenu</a><br>
<br>
<br>
>From dacf9f38ba38b86b79420d2cc3b25ff0191ed9b2 Mon Sep 17 00:00:00 2001<br>
From: ampling <<a href="mailto:ampling@users.noreply.github.com" target="_blank">ampling@users.noreply.github.com</a>><br>
Date: Tue, 19 Jul 2016 16:11:10 -0400<br>
Subject: [PATCH] Renamed filelock for clarity.<br>
<br>
---<br>
 contrib/dmenu/passmenu | 15 ++++++++-------<br>
 1 file changed, 8 insertions(+), 7 deletions(-)<br>
<br>
diff --git a/contrib/dmenu/passmenu b/contrib/dmenu/passmenu<br>
index 40dfe97..e1835d2 100755<br>
--- a/contrib/dmenu/passmenu<br>
+++ b/contrib/dmenu/passmenu<br>
@@ -26,8 +26,8 @@ _finish () {<br>
   [[ True == $cleanup ]] &&<br>
   printf "$before" | base64 -d | xclip -sel "$X_SELECTION" -i<br>
   [[ True = "$cleanup" ]] &&<br>
-  if compgen -G "/tmp/passmenulock.1000*" >/dev/null 2>&1 ;then<br>
-    rmdir /tmp/passmenulock.*.*."$$" >/dev/null 2>&1<br>
+  if compgen -G "/tmp/passmenu.1000*" >/dev/null 2>&1 ;then<br>
+    rmdir /tmp/passmenu.*.*."$$".lock >/dev/null 2>&1<br>
   fi<br>
   exit<br>
 }<br>
@@ -47,22 +47,23 @@ trap _finish EXIT<br>
 ## Clearing old filelock(s).<br>
 umask 077<br>
 stalelock=( "${stalelock:-''}" )<br>
-stalelock=( "$(find '/tmp' -maxdepth 1 -name "passmenulock."$userID".*" -user $(whoami) -print0  -quit)" ) &&<br>
+stalelock=( "$(find '/tmp' -maxdepth 1 -name "passmenu."$userID".*" -user $(whoami) -print0  -quit -type d)" ) &&<br>
 if test -n "$stalelock" ;then<br>
+  stalename=${stalelock%.*}<br>
   report=( "$(ps -u $(id -u $(whoami)) aux | grep "bash" |<br>
   grep "passmenu" | grep -v "$$")" )<br>
-  stalePID=( "$(printf $stalelock |<br>
-  sed -e "s/\/tmp\/passmenulock\.[0-9]\{1,6\}\?\..*\.//g")" )<br>
+  stalePID=( "$(printf $stalename |<br>
+  sed -e "s/\/tmp\/passmenu\.[0-9]\{1,6\}\?\..*\.//g")" )<br>
   if [[ "$report" == *"$stalePID"* ]] ;then<br>
     kill "$stalePID" || exit 1<br>
   else<br>
-    rmdir /tmp/passmenulock."$userID".* >/dev/null 2>&1 ||<br>
+    rmdir /tmp/passmenu."$userID".* >/dev/null 2>&1 ||<br>
     { echo ":: Unable to clear old filelock"; exit 1; }<br>
   fi<br>
 fi<br>
<br>
 ## Adding a new filelock<br>
-( mktemp -d "/tmp/passmenulock."$userID".XXXXXXXXXX"."$$" >/dev/null 2>&1 && cleanup=True ||<br>
+( mktemp -d "/tmp/passmenu."$userID".XXXXXXXXXX"."$$".lock >/dev/null 2>&1 && cleanup=True ||<br>
   { echo >&2 ":: Unable to make a filelock."; exit 1; } )<br>
<br>
 cleanup=True<br>
--<br>
2.9.0<br>
<br>
<br>
<br>
<br>
<br>
--<br>
At your service,<br>
mitfree<br>
<a href="https://ampling.com" rel="noreferrer" target="_blank">https://ampling.com</a><br>
<br>
_______________________________________________<br>
Password-Store mailing list<br>
<a href="mailto:Password-Store@lists.zx2c4.com" target="_blank">Password-Store@lists.zx2c4.com</a><br>
<a href="http://lists.zx2c4.com/mailman/listinfo/password-store" rel="noreferrer" target="_blank">http://lists.zx2c4.com/mailman/listinfo/password-store</a><br>
</blockquote></div><div dir="ltr">-- <br></div><div data-smartmail="gmail_signature"><div dir="ltr"><p dir="ltr">Marcos H. Alano<br></p><p dir="ltr">Sent from my Android</p>
</div></div>