diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2009-02-24 14:45:19 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2009-02-24 14:45:19 +0200 |
commit | b1472caae9a1b6905b6bbe42e69539b29febcf5c (patch) | |
tree | 3aaf7a2b4b95ecbdeceefcb8d649c4cb726e84fa /src/process.c | |
parent | f7834b6f1aa00b7173a2fe338756c2bad4e3927b (diff) | |
download | wydawca-b1472caae9a1b6905b6bbe42e69539b29febcf5c.tar.gz wydawca-b1472caae9a1b6905b6bbe42e69539b29febcf5c.tar.bz2 |
Improve daemon mode.
* gconf/gconf-gram.y: Provide created lists with appropriate equal tests.
Special handling for lists of strings.
* src/cmdline.opt: Minor fix.
* src/config.c: New keyword all-spools.
* src/job.c: Hanlde "all spools" requests.
* src/net.c: Likewise.
* src/process.c (spool_check_alias): Rewrite using gl_list_search
(scan_directories): Rename to scan_all_spools.
(spool_create_timers): New function.
* src/wydawca.c (all_spool_aliases): New global.
(initstats): New function.
* src/wydawca.h: Add new declarations.
Diffstat (limited to 'src/process.c')
-rw-r--r-- | src/process.c | 30 |
1 files changed, 12 insertions, 18 deletions
diff --git a/src/process.c b/src/process.c index 20bfd38..1a6b01d 100644 --- a/src/process.c +++ b/src/process.c @@ -36,22 +36,9 @@ register_spool (struct spool *spool) static int spool_check_alias (struct spool *spool, const char *name) { - int rc = 0; - - if (spool->aliases) - { - gl_list_iterator_t itr = gl_list_iterator (spool->aliases); - const void *p; - - while (gl_list_iterator_next (&itr, &p, NULL)) - if (strcmp (name, p) == 0) - { - rc = 1; - break; - } - gl_list_iterator_free (&itr); - } - return rc; + if (spool->aliases && gl_list_search (spool->aliases, name)) + return 1; + return 0; } struct spool * @@ -248,12 +235,11 @@ close_methods (struct spool *spool) /* Scan all configured update directories */ void -scan_directories (int uidc, uid_t *uidv) +scan_all_spools (int uidc, uid_t *uidv) { struct spool_list *sp; timer_start ("wydawca"); - for (sp = spool_list; sp; sp = sp->next) if (enabled_spool_p (&sp->spool)) scan_spool (&sp->spool, uidc, uidv); @@ -263,3 +249,11 @@ scan_directories (int uidc, uid_t *uidv) timer_stop ("wydawca"); } +void +spool_create_timers () +{ + struct spool_list *sp; + + for (sp = spool_list; sp; sp = sp->next) + timer_start (sp->spool.tag); +} |