Accepting request 244819 from Base:System

Never mind the changes file, the author confirmed this is the right fix. So it is tested.

OBS-URL: https://build.opensuse.org/request/show/244819
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/withlock?expand=0&rev=6
This commit is contained in:
Ludwig Nussel 2014-08-18 09:23:51 +00:00 committed by Git OBS Bridge
commit b7eff90296
3 changed files with 71 additions and 1 deletions

56
got-lock.patch Normal file
View File

@ -0,0 +1,56 @@
Index: withlock-0.3/withlock
===================================================================
--- withlock-0.3.orig/withlock
+++ withlock-0.3/withlock
@@ -64,12 +64,21 @@ for name in 'SIGBREAK', 'SIGHUP', 'SIGTE
if num: signal.signal(num, catchterm)
-def cleanup(lockfile):
+def cleanup(lockfile, verbose):
+ global got_lock
+ if verbose:
+ sys.stderr.write('got_lock is set to: %r\n' % got_lock)
+
+ if verbose:
+ sys.stderr.write('removing lockfile: %r\n' % lockfile)
+
if got_lock:
try:
os.unlink(lockfile)
except:
pass
+ else:
+ sys.stderr.write('the lockfile was not removed !\n')
def main():
@@ -132,6 +141,7 @@ def main():
lock = open(lockfile, 'w')
+ global got_lock
while 1 + 1 == 2:
try:
@@ -174,7 +184,7 @@ def main():
% lockfile)
- atexit.register(cleanup, lockfile)
+ atexit.register(cleanup, lockfile, options.verbose)
os.umask(prev_umask)
import subprocess
@@ -184,10 +194,7 @@ def main():
if options.verbose:
sys.stderr.write('command terminated with exit code %s\n' % rc)
-
- if options.verbose:
- sys.stderr.write('removing lockfile\n')
-
+
sys.exit(rc)

View File

@ -1,3 +1,13 @@
-------------------------------------------------------------------
Thu Aug 14 13:23:11 UTC 2014 - mcaj@suse.com
- I wrote a patch got-lock.patch to fix the trouble with the got-lock variable.
I was testing the withlock and still had there the lock file after a
program already end with exit code 0. I have look on the code together
with our Python expert mvidner@suse.cz and we found the got-lock variable
isn't marked ad global variable.I`ll send this to poeml@cmdline.net
after we test it on our servers.
-------------------------------------------------------------------
Tue Mar 25 21:07:09 UTC 2014 - poeml@cmdline.net

View File

@ -26,6 +26,8 @@ Url: http://code.google.com/p/withlock/
Requires: python
Source0: http://mirrorbrain.org/files/releases/%{name}-%{version}.tar.gz
Source1: %name-README.SuSE
# fixed trouble with not removed lock file bacuse got-lock was not global variable.
Patch0: got-lock.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
@ -40,7 +42,9 @@ to use, and much better than implementing half-hearted locking within scripts.
%prep
%setup
#
%patch0 -p1
%build
#
%install