Roxen.git / server / base_server / fsgc.pike

version» Context lines:

Roxen.git/server/base_server/fsgc.pike:323:    num_files--;    total_size -= old_st->size;       remove_pending(this);       check_threshold();    }    }    }    +  constant DefaultMonitor = Monitor; +     protected void create(string modid, string path, int max_age,    int|void max_size, int|void max_files,    string|void quarantine)    {    GC_WERR("FSGC: Max age: %d\n", max_age);    GC_WERR("FSGC: Max size: %d\n", max_size);    GC_WERR("FSGC: Max files: %d\n", max_files);       this_program::modid = modid;   
Roxen.git/server/base_server/fsgc.pike:356:    ::create(max_age/file_interval_factor, 0, max_age);       // Workaround for too strict type-check in Pike 7.8.    int flags = 3;       monitor(root, flags);    }       void stable_data_change(string path, Stdio.Stat st)    { -  GC_WERR("FSGC: Deleting stale file: %O\n", path); +     if (path == root) return; -  +  GC_WERR("FSGC: Deleting stale file: %O\n", path); +  + #if 0 +  // If we ever use accelerated notifications again. +     // Override accelerated stable change notification. -  if (st->mtime > time(1) - stable_time) { +  if (st->mtime >= time(1) - stable_time) {    GC_WERR("FSGC: Keeping file: %O\n", path); -  +  // Remove the stable notification marker, and reschedule. +  Monitor m = monitor(path, MF_AUTO); +  m->last_change = st->mtime; +  // m->update(st); +  m->check(); // Force an update().    return;    } -  + #endif    rm(path);    }       void reconfigure(int new_max_age, int|void new_max_size,    int|void new_max_files)    {    if (!zero_type(new_max_size)) {    GC_WERR("FSGC: New max size: %d\n", new_max_size);    max_size = new_max_size;    }