mirror of
https://github.com/Llewellynvdm/conky.git
synced 2025-01-28 09:38:38 +00:00
Fix LP: #525926; conky sigsegv if config file is deleted
Basically, we only relod if the file is modified but still handle the case where the watch gets lost. Maybe we should just ignore IN_IGNORE altogether? (cherry picked from commit 085c39d39464642746a1883266d9dffcfc10e84c)
This commit is contained in:
parent
c2c58cd8d7
commit
8be18483e3
@ -2299,10 +2299,12 @@ static void main_loop(void)
|
||||
len = read(inotify_fd, inotify_buff, INOTIFY_BUF_LEN);
|
||||
while (len > 0 && idx < len) {
|
||||
struct inotify_event *ev = (struct inotify_event *) &inotify_buff[idx];
|
||||
if (ev->wd == inotify_config_wd && (ev->mask & IN_MODIFY || ev->mask & IN_IGNORED)) {
|
||||
if (ev->wd == inotify_config_wd) {
|
||||
if (ev->mask & IN_MODIFY) {
|
||||
/* current_config should be reloaded */
|
||||
NORM_ERR("'%s' modified, reloading...", current_config);
|
||||
reload_config();
|
||||
}
|
||||
if (ev->mask & IN_IGNORED) {
|
||||
/* for some reason we get IN_IGNORED here
|
||||
* sometimes, so we need to re-add the watch */
|
||||
|
Loading…
x
Reference in New Issue
Block a user