+++ /dev/null
-NEWSFEEDS
-
-Newsfeeds file entries should look like this:
- host.name.of.site[/exclude,exclude,...]\
- :pattern,pattern...[/distribution,distribution...]\
- :Tf,Wnm
- :
-or
- sitename[/exclude,exclude,...]\
- :pattern,pattern...[/distribution,distribution...]\
- :Tf,Wnm
- :host.name.of.site
-
-
-FILES
-
-Four files full of
- token messageid
-or might be blanked out
- <spc><spc><spc><spc>....
-
-F site.name main feed file
- opened/created, then written, by innd
- read by duct
- unlinked by duct
- tokens blanked out by duct when processed
- site.name_lock lock preventing multiple ducts
- to hold lock must open,F_SETLK[W]
- and then stat to check that locked file
- still has name site.name_lock
- holder of this lock is "duct"
- (only) lockholder may remove the lockfile
-D site.name_flushing temporary feed file during flush (or crash)
- hardlink created by duct
- unlinked by duct
- site.name_defer 431'd articles, still being written,
- created, written, used by duct
-
- site.name_backlog.<date>.<inum>
- 431'd articles, ready for innxmit or duct
- created (link/mv) by duct
- site.name_backlog<anything-else> (where <anything-else> does not
- contain '#' or '~') eg
- site.name_backlog.manual
- anything the sysadmin likes (eg, feed files
- from old feeds to be merged into this one)
- created (link/mv) by admin
- may be symlinks (in which case links
- may be written through, but only links
- will be removed.
-
- It is safe to remove backlog files manually,
- if it's desired to throw away the backlog.
-
-Backlog files are also processed by innduct. We find the oldest
-backlog file which is at least a certain amount old, and feed it
-back into our processing. When every article in it has been read
-and processed, we unlink it and look for another backlog file.
-
-If we don't have a backlog file that we're reading, we close the
-defer file that we're writing and make it into a backlog file at
-the first convenient opportunity.
/*---------- defer and backlog files ----------*/
+/*
+ * Backlog files are also processed by innduct. We find the oldest
+ * backlog file which is at least a certain amount old, and feed it
+ * back into our processing. When every article in it has been read
+ * and processed, we unlink it and look for another backlog file.
+ *
+ * If we don't have a backlog file that we're reading, we close the
+ * defer file that we're writing and make it into a backlog file at
+ * the first convenient opportunity.
+ */
+
void open_defer(void) {
struct stat stab;
However you (the administrator) may also safely remove backlog files.
.IP \fIfeedfile\fR_backlog\fIsomething\fR
.IX Item "manual backlog file"
-Batch file manually provided by the administrator. The file should be
-complete and ready to process at the time it is renamed or hardlinked
-to this name. innduct will then automatically find and read and
-process it (including blanking out entries for processed articles) and
-eventually remove it. \fIsomething\fR may not contain \fB#\fR \fB~\fR
-or \fB/\fR.
+Batch file manually provided by the administrator. innduct will
+automatically find, read and process any file matching this pattern
+(blanking out entries for processed articles) and eventually remove
+it. \fIsomething\fR may not contain \fB#\fR \fB~\fR or \fB/\fR.
.IP
Be sure to have finished writing the file before you rename it to
match the pattern \fIfeedfile\fR\fB_backlog\fR*, as otherwise innduct