All browsing in Xinet is handled by the listdir program. On a database-enabled volume,
listdir gets the list of items to display from the database. Additionally,
listdir makes a check on the directory being browsed to verify that the contents displayed are up to date in the database.
When listdir is run from a browser on a directory, it does two things:
More precisely, the check in step 2 looks for a directory modification time discrepancy. Full details of such discrepancies can be found in Syncs: to -delnorm or not to -delnorm. If a discrepancy is found,
listdir will run a
sync on that directory and post an event to the
webdblog file. From there,
dblogd will put the changes into the database. Note that the
sync does not descend through any subdirectories. Essentially, this is a
sync without a
-delnorm.
Assuming that there is a discrepancy and that a sync is done on the directory, note that the effects of the
sync will not be seen until the browser is refreshed. That’s because step one (the display) happens first. To see the changes made by step two (if any), one has to refresh the browser.
One last note: listdir only checks from directory modification times, not file modification times. By contrast,
syncvoltodb(8) checks for both directories’ and files’ modification times. This results in slight differences in the “cover up” case that is detailed in the following topic:
Synchronizations run by listdir on the directory being displayed..