Mercurial > public > mercurial-scm > hg-stable
view hgext/inotify/linux/__init__.py @ 13400:14f3795a5ed7
explicitly close files
Add missing calls to close() to many places where files are
opened. Relying on reference counting to catch them soon-ish is not
portable and fails in environments with a proper GC, such as PyPy.
author | Dan Villiom Podlaski Christiansen <danchr@gmail.com> |
---|---|
date | Fri, 24 Dec 2010 15:23:01 +0100 |
parents | 25e572394f5c |
children |
line wrap: on
line source
# __init__.py - low-level interfaces to the Linux inotify subsystem # Copyright 2006 Bryan O'Sullivan <bos@serpentine.com> # This library is free software; you can redistribute it and/or modify # it under the terms of version 2.1 of the GNU Lesser General Public # License, or any later version. '''Low-level interface to the Linux inotify subsystem. The inotify subsystem provides an efficient mechanism for file status monitoring and change notification. This package provides the low-level inotify system call interface and associated constants and helper functions. For a higher-level interface that remains highly efficient, use the inotify.watcher package.''' __author__ = "Bryan O'Sullivan <bos@serpentine.com>" from _inotify import * procfs_path = '/proc/sys/fs/inotify' def _read_procfs_value(name): def read_value(): try: fp = open(procfs_path + '/' + name) r = int(fp.read()) fp.close() return r except OSError: return None read_value.__doc__ = '''Return the value of the %s setting from /proc. If inotify is not enabled on this system, return None.''' % name return read_value max_queued_events = _read_procfs_value('max_queued_events') max_user_instances = _read_procfs_value('max_user_instances') max_user_watches = _read_procfs_value('max_user_watches')