Andrew Donkin wrote:
> Matt Kettler <[EMAIL PROTECTED]> writes:
> 
> 
>>if [ -f /var/spool/mail/spamtrap ]; then
>> echo learning spam mailbox - spamtrap
>> mv /var/spool/mail/spamtrap .
>> /usr/bin/sa-learn --spam --mbox spamtrap
>> rm spam/spamtrap.alearn5.gz
>> mv spam/spamtrap.alearn4.gz spam/spamtrap.alearn5.gz
>> mv spam/spamtrap.alearn3.gz spam/spamtrap.alearn4.gz
>> mv spam/spamtrap.alearn2.gz spam/spamtrap.alearn3.gz
>> gzip spam/spamtrap.alearn1
>> mv spam/spamtrap.alearn1.gz spam/spamtrap.alearn2.gz
>>
>> mv spamtrap spam/spamtrap.alearn1
>>fi
> 
> 
> I'll put my Captain Pedantic hat on and point out that if your MTA is
> writing to /var/spool/mail/spamtrap at the time that you learn it,
> which is quite possible if /var/spool/training/ is on the same
> filesystem as /var/spool/mail/, sa-learn may end up chewing on a
> half-finished message.

Actually, they're on separate filesystems.

But you're right, I forgot that mv can "move" a file within a filesystem and
another process can still write to it with an old file descriptor.

Reply via email to