aboutsummaryrefslogtreecommitdiff
path: root/src/process.c
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2009-02-24 14:45:19 +0200
committerSergey Poznyakoff <gray@gnu.org.ua>2009-02-24 14:45:19 +0200
commitb1472caae9a1b6905b6bbe42e69539b29febcf5c (patch)
tree3aaf7a2b4b95ecbdeceefcb8d649c4cb726e84fa /src/process.c
parentf7834b6f1aa00b7173a2fe338756c2bad4e3927b (diff)
downloadwydawca-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.c30
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);
+}

Return to:

Send suggestions and report system problems to the System administrator.