Mercurial > hg
comparison hgext/inotify/linux/__init__.py @ 6239:39cfcef4f463
Add inotify extension
author | Bryan O'Sullivan <bos@serpentine.com> |
---|---|
date | Wed, 12 Mar 2008 15:30:11 -0700 |
parents | |
children | 553aa0cbeab6 |
comparison
equal
deleted
inserted
replaced
6236:ad6b123de1c7 | 6239:39cfcef4f463 |
---|---|
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 | |
7 # License, incorporated herein by reference. | |
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: | |
29 return int(open(procfs_path + '/' + name).read()) | |
30 except OSError, err: | |
31 return None | |
32 | |
33 read_value.__doc__ = '''Return the value of the %s setting from /proc. | |
34 | |
35 If inotify is not enabled on this system, return None.''' % name | |
36 | |
37 return read_value | |
38 | |
39 max_queued_events = _read_procfs_value('max_queued_events') | |
40 max_user_instances = _read_procfs_value('max_user_instances') | |
41 max_user_watches = _read_procfs_value('max_user_watches') |