[FIX] server: prevent inotify watches leak
Before this commit the PyInotify filesystem watcher used by the code autoreload feature (`--dev=reload`) would not get a chance to free it's inotify watches before the reexec, hence at each reexec triggered by a code reload the inotify watches where accumulated until potentially reaching the kernel limit `fs.inotify.max_user_watches`. This patch ensures that inotify properly closes it's file descriptor before we reexec: https://github.com/dsoprea/PyInotify/blob/f77596a/inotify/adapters.py#L79 closes odoo/odoo#71302 X-original-commit: 8703ff1e3d9be6f2f5fce2e8c4e62589b05133fb Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
This commit is contained in:
@@ -296,6 +296,7 @@ class FSWatcherInotify(FSWatcherBase):
|
||||
def stop(self):
|
||||
self.started = False
|
||||
self.thread.join()
|
||||
del self.watcher # ensures inotify watches are freed up before reexec
|
||||
|
||||
|
||||
#----------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user