Properly handle directory watcher creation failures.
This commit is contained in:
parent
9583df3c44
commit
2f552ac408
|
@ -644,6 +644,8 @@ struct DirectoryWatcher { // TODO: avoid all those heap allocations!
|
||||||
m_context = new Context; // FIME: avoid GC allocation (use FD user data slot)
|
m_context = new Context; // FIME: avoid GC allocation (use FD user data slot)
|
||||||
m_context.changeEvent = createManualEvent();
|
m_context.changeEvent = createManualEvent();
|
||||||
m_watcher = eventDriver.watchers.watchDirectory(path.toNativeString, recursive, &m_context.onChange);
|
m_watcher = eventDriver.watchers.watchDirectory(path.toNativeString, recursive, &m_context.onChange);
|
||||||
|
if (m_watcher == WatcherID.invalid)
|
||||||
|
throw new Exception("Failed to watch directory.");
|
||||||
m_context.path = path;
|
m_context.path = path;
|
||||||
m_context.recursive = recursive;
|
m_context.recursive = recursive;
|
||||||
m_context.changes = appender!(DirectoryChange[]);
|
m_context.changes = appender!(DirectoryChange[]);
|
||||||
|
|
Loading…
Reference in a new issue