Gentoo Archives: gentoo-commits

From: Brian Dolbec <dolsen@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/gentoo-keys:master commit in: gkeys/gkeys/
Date: Sat, 07 Jul 2018 05:23:57
Message-Id: 1530940931.80a59eed95c17a8702da10f54f9b6fdf8e90a880.dolsen@gentoo
1 commit: 80a59eed95c17a8702da10f54f9b6fdf8e90a880
2 Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
3 AuthorDate: Mon Jul 2 21:52:53 2018 +0000
4 Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
5 CommitDate: Sat Jul 7 05:22:11 2018 +0000
6 URL: https://gitweb.gentoo.org/proj/gentoo-keys.git/commit/?id=80a59eed
7
8 gkeys/lock.py: New LockDir class
9
10 Signed-off-by: Brian Dolbec <dolsen <AT> gentoo.org>
11
12 gkeys/gkeys/lock.py | 31 +++++++++++++++++++++++++++++++
13 1 file changed, 31 insertions(+)
14
15 diff --git a/gkeys/gkeys/lock.py b/gkeys/gkeys/lock.py
16 new file mode 100644
17 index 0000000..5614335
18 --- /dev/null
19 +++ b/gkeys/gkeys/lock.py
20 @@ -0,0 +1,31 @@
21 +
22 +import os
23 +
24 +from snakeoil import fileutils
25 +from snakeoil import osutils
26 +from catalyst.fileops import ensure_dirs
27 +
28 +
29 +LockInUse = osutils.LockException
30 +
31 +
32 +class LockDir(object):
33 + """An object that creates locks inside dirs"""
34 +
35 + def __init__(self, lockdir):
36 + #self.gid = 250
37 + self.lockfile = os.path.join(lockdir, '.gkeys_lock')
38 + ensure_dirs(lockdir)
39 + fileutils.touch(self.lockfile, mode=0o664)
40 + #os.chown(self.lockfile, -1, self.gid)
41 + self.lock = osutils.FsLock(self.lockfile)
42 +
43 + def read_lock(self):
44 + self.lock.acquire_read_lock()
45 +
46 + def write_lock(self):
47 + self.lock.acquire_write_lock()
48 +
49 + def unlock(self):
50 + # Releasing a write lock is the same as a read lock.
51 + self.lock.release_write_lock()