diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2009-12-01 15:23:35 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2009-12-01 15:23:35 +0200 |
commit | efd45e0a305dd0cc289d98b58141a40a3ddd3ffa (patch) | |
tree | 60859166c008e55034c1b6e84e113b72e909b2a6 /src/process.c | |
parent | 5017a2c0a3266540c2bb5895595f2c79ce869091 (diff) | |
download | wydawca-efd45e0a305dd0cc289d98b58141a40a3ddd3ffa.tar.gz wydawca-efd45e0a305dd0cc289d98b58141a40a3ddd3ffa.tar.bz2 |
Fix locking. Improve mail formatting.
* src/config.c (locking_kw): Remove retry-attempts and
retry-interval.
New keyword: timeout.
* src/job.c (job_queue_runner): Use lock_timeout.
* src/lock.c (lock_retry_attempts, lock_retry_interval): Remove.
(lock_timeout): New variable.
(wydawca_lock): Rewrite lock acquisition loop.
* src/wydawca.h (lock_retry_attempts, lock_retry_interval): Remove.
(lock_timeout): New extern.
* src/process.c (scan_spool): Analyze return from wydawca_lock.
* src/mail.c (mail_send_message): Set From header, unless
it is already present.
Diffstat (limited to 'src/process.c')
-rw-r--r-- | src/process.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/process.c b/src/process.c index d04121c..a998edb 100644 --- a/src/process.c +++ b/src/process.c @@ -230,10 +230,20 @@ scan_spool (const struct spool *spool, int uc, uid_t *uv) { char *lockfile = wydawca_lockname (spool->tag); int rc = wydawca_lock (lockfile); - if (rc == LOCK_OK) + switch (rc) { + case LOCK_OK: scan_spool_unlocked (spool, uc, uv); wydawca_unlock (lockfile); + break; + + case LOCK_FAILURE: + logmsg (LOG_ERR, _("cannot lock spool %s"), spool->tag); + break; + + case LOCK_RETRY: + logmsg (LOG_WARNING, _("timed out while looking spool %s"), spool->tag); + break; } free (lockfile); return rc; |