Package: debpool
Version: 0.2.3
Severity: minor

The way DebPool::Dirs::Monitor_Incoming() is implemented, it is possible that 
an upload, made while a previous upload is processed, is missed and not 
noticed until another upload is made (this applies to daemon mode). 
(Monitor_Incoming() compares the mtime of the incoming directory before and 
after sleeping, but doesn't take into account what happens between the calls 
from the main loop).

The most obvious solution would be to simply check if there are any .changes 
files in the incoming directory (which should be continually cleaned out, 
either by installing packages or by moving them to the reject directory). 
That would basically make Monitor_Incoming() superflous. Sure, a stat() is 
quicker than opendir()+readdir(), but does it matter when the directory is 
empty?

This is of course a minor problem, because the race condition only likely to 
occur in a repository with lots of traffic, where a new upload will arrive 
shortly and cause incoming to be processed.

-- 
Magnus Holmgren        [EMAIL PROTECTED]

Attachment: pgpFmYPOsn2X8.pgp
Description: PGP signature

Reply via email to