~juliank/ubuntu/bionic/apport/snap

« back to all changes in this revision

Viewing changes to data/apport

  • Committer: Brian Murray
  • Date: 2018-02-14 18:17:53 UTC
  • mfrom: (1369.165.76 trunk)
  • Revision ID: brian@canonical.com-20180214181753-n4i933etld3rilym
New upstream release

Show diffs side-by-side

added added

removed removed

Lines of Context:
40
40
        error_log('cannot create lock file (uid %i): %s' % (os.getuid(), str(e)))
41
41
        sys.exit(1)
42
42
 
43
 
    try:
44
 
        fcntl.lockf(fd, fcntl.LOCK_EX | fcntl.LOCK_NB)
45
 
    except IOError:
 
43
    def error_running(*args):
46
44
        error_log('another apport instance is already running, aborting')
47
45
        sys.exit(1)
48
46
 
 
47
    original_handler = signal.signal(signal.SIGALRM, error_running)
 
48
    signal.alarm(30) # Timeout after that many seconds
 
49
    try:
 
50
        fcntl.lockf(fd, fcntl.LOCK_EX)
 
51
    except IOError:
 
52
        error_running()
 
53
    finally:
 
54
        signal.alarm(0)
 
55
        signal.signal(signal.SIGALRM, original_handler)
49
56
 
50
57
(pidstat, real_uid, real_gid, cwd) = (None, None, None, None)
51
58