qasim-gui: Locker pid testing was buggy. Fixed.
This commit is contained in:
parent
29ed8c2280
commit
ed6a74ff47
1 changed files with 12 additions and 8 deletions
|
@ -224,14 +224,18 @@ module Qasim
|
|||
rescue Errno::EEXIST => e
|
||||
# test if the other process still exist
|
||||
masterpid = File.read(lockfname).strip
|
||||
begin
|
||||
Process.kill(0, masterpid.to_i)
|
||||
warn "error: Another instance of %s is already running." % APP_NAME
|
||||
exit 1
|
||||
rescue Errno::ESRCH => e
|
||||
fd = IO::sysopen( lockfname,
|
||||
Fcntl::O_WRONLY | Fcntl::O_EXCL )
|
||||
f = IO.open(fd)
|
||||
f.syswrite( "#{Process.pid}\n" )
|
||||
f.close
|
||||
@app.exec
|
||||
end
|
||||
ensure
|
||||
masterpid = File.read(lockfname).strip
|
||||
if masterpid.to_i == Process.pid then
|
||||
|
|
Loading…
Reference in a new issue