pike.git / lib / modules / Filesystem.pmod / Monitor.pmod / basic.pike

version» Context lines:

pike.git/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:976:    MON_WERR("inotify_event(%O, %s, %O, %O)...\n",    wd, System.Inotify.describe_mask(event), cookie, path);    string(8bit) icookie = inotify_cookie(wd);    Monitor m;    if((m = monitors[icookie])) {    if (sizeof (path)) {    string full_path = canonic_path(Stdio.append_path(m->path, path));    // We're interested in the sub monitor, if it exists.    if (Monitor submon = monitors[full_path]) {    m = submon; -  } else if (m->flags & MF_RECURSE) { +  } else if ((m->flags & MF_RECURSE) && !(event & System.Inotify.IN_DELETE)) {    // We've missed creation of the submonitor.    //    // This can happen in the    //    // Exist ==> Deleted ==> Exists    //    // with no update of the directory inbetween race-condition.    //    // Create the submonitor.    MON_WARN("Monitor lost for path %O.\n", full_path);