Filesystem.Monitor checks all monitors synchronously on startup
Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7578
Reported by Martin Karlgren marty@roxen.com
Filesystem.Monitor sometimes blocks the backend thread for quite a while on startup because eventstream_callback calls check_all() synchronously.
: >> ### Thread 0x7fff74f56300 - Backend:
8:04:21 : >> /Users/marty/projects/Pike/8.0/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:869: Monitor("/Users/marty/projects/REP-5.2-test/roxen/backup/SN/2013-03-16/page_43(E1)/pp_103729.jpg", 15, next: Wed Oct 21 08:04:21 2015, st: Stat(-rw-r--r-- 119226b))->check(UNDEFINED)
0d16h46m : >> /Users/marty/projects/Pike/8.0/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:1352: FSGarb("/Users/marty/projects/REP-5.2-test/roxen/backup", 432000)->check_monitor(Monitor("/Users/marty/projects/REP-5.2-test/roxen/backup/SN/2013-03-16/page_43(E1)/pp_103729.jpg", 15, next: Wed Oct 21 08:04:21 2015, st: Stat(-rw-r--r-- 119226b)),UNDEFINED)
: >> /Users/marty/projects/Pike/8.0/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:874: Monitor("/Users/marty/projects/REP-5.2-test/roxen/backup/SN/2013-03-16/page_43(E1)", 15, next: Sat Oct 17 08:04:20 2015, st: Stat(drwxr-xr-x 238b))->check(UNDEFINED)
: >> /Users/marty/projects/Pike/8.0/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:1352: FSGarb("/Users/marty/projects/REP-5.2-test/roxen/backup", 432000)->check_monitor(Monitor("/Users/marty/projects/REP-5.2-test/roxen/backup/SN/2013-03-16/page_43(E1)", 15, next: Sat Oct 17 08:04:20 2015, st: Stat(drwxr-xr-x 238b)),UNDEFINED)
: >> /Users/marty/projects/Pike/8.0/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:874: Monitor("/Users/marty/projects/REP-5.2-test/roxen/backup/SN/2013-03-16", 15, next: Sat Oct 17 08:04:20 2015, st: Stat(drwxr-xr-x 1768b))->check(UNDEFINED)
: >> /Users/marty/projects/Pike/8.0/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:1352: FSGarb("/Users/marty/projects/REP-5.2-test/roxen/backup", 432000)->check_monitor(Monitor("/Users/marty/projects/REP-5.2-test/roxen/backup/SN/2013-03-16", 15, next: Sat Oct 17 08:04:20 2015, st: Stat(drwxr-xr-x 1768b)),UNDEFINED)
8:04:21 : >> /Users/marty/projects/Pike/8.0/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:874: Monitor("/Users/marty/projects/REP-5.2-test/roxen/backup/SN", 15, next: Sat Oct 17 08:04:08 2015, st: Stat(drwxr-xr-x 3570b))->check(UNDEFINED)
0d16h46m : >> /Users/marty/projects/Pike/8.0/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:1352: FSGarb("/Users/marty/projects/REP-5.2-test/roxen/backup", 432000)->check_monitor(Monitor("/Users/marty/projects/REP-5.2-test/roxen/backup/SN", 15, next: Sat Oct 17 08:04:08 2015, st: Stat(drwxr-xr-x 3570b)),UNDEFINED)
: >> /Users/marty/projects/Pike/8.0/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:1379: FSGarb("/Users/marty/projects/REP-5.2-test/roxen/backup", 432000)->check_all(UNDEFINED)
: >> /Users/marty/projects/Pike/8.0/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike:764: FSGarb("/Users/marty/projects/REP-5.2-test/roxen/backup", 432000)->eventstream_callback("/Users/marty/projects/REP-5.2-test/roxen/backup/AT/2013-06-07/page_2A",1116416,7162257960850217034)
: >> -:1: Pike.Backend(0)->`()(3600.0)
: >> /Users/marty/projects/Pike/8.0/build/darwin-14.5.0-x86_64/master.pike:3619: master()._main(({"/Users/marty/projects/Pike/8.0/build/darwin-14.5.0-x86_64/pike","-DPRECOMPILED_SEARCH_MORE","-m/Users/marty/projects/Pike/8.0/build/darwin-14.5.0-x86_64/master.pike","-DMODULE_DEBUG","-DRAM_CACHE",,,11}))