Mercurial > public > mercurial-scm > hg
annotate hgext/inotify/linux/__init__.py @ 18010:38b51a60a195
clfilter: ensure that mq performs commits on unfiltered repos
author | Pierre-Yves David <pierre-yves.david@ens-lyon.org> |
---|---|
date | Mon, 08 Oct 2012 18:02:25 +0200 |
parents | 14f3795a5ed7 |
children |
rev | line source |
---|---|
6239 | 1 # __init__.py - low-level interfaces to the Linux inotify subsystem |
2 | |
3 # Copyright 2006 Bryan O'Sullivan <bos@serpentine.com> | |
4 | |
5 # This library is free software; you can redistribute it and/or modify | |
6 # it under the terms of version 2.1 of the GNU Lesser General Public | |
10263 | 7 # License, or any later version. |
6239 | 8 |
9 '''Low-level interface to the Linux inotify subsystem. | |
10 | |
11 The inotify subsystem provides an efficient mechanism for file status | |
12 monitoring and change notification. | |
13 | |
14 This package provides the low-level inotify system call interface and | |
15 associated constants and helper functions. | |
16 | |
17 For a higher-level interface that remains highly efficient, use the | |
18 inotify.watcher package.''' | |
19 | |
20 __author__ = "Bryan O'Sullivan <bos@serpentine.com>" | |
21 | |
22 from _inotify import * | |
23 | |
24 procfs_path = '/proc/sys/fs/inotify' | |
25 | |
26 def _read_procfs_value(name): | |
27 def read_value(): | |
28 try: | |
13400
14f3795a5ed7
explicitly close files
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10263
diff
changeset
|
29 fp = open(procfs_path + '/' + name) |
14f3795a5ed7
explicitly close files
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10263
diff
changeset
|
30 r = int(fp.read()) |
14f3795a5ed7
explicitly close files
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10263
diff
changeset
|
31 fp.close() |
14f3795a5ed7
explicitly close files
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10263
diff
changeset
|
32 return r |
7875
553aa0cbeab6
cleanup: drop unused assignments
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
6239
diff
changeset
|
33 except OSError: |
6239 | 34 return None |
35 | |
36 read_value.__doc__ = '''Return the value of the %s setting from /proc. | |
37 | |
38 If inotify is not enabled on this system, return None.''' % name | |
39 | |
40 return read_value | |
41 | |
42 max_queued_events = _read_procfs_value('max_queued_events') | |
43 max_user_instances = _read_procfs_value('max_user_instances') | |
44 max_user_watches = _read_procfs_value('max_user_watches') |