From 87602f5492b842f734dffe22f4e2f85dbc6ce713 Mon Sep 17 00:00:00 2001 From: Sergey Poznyakoff Date: Sun, 10 Mar 2013 22:39:23 +0200 Subject: Replace mail notification with module event notification framework. The new framework is to be general-purpose; the mail notification is implemented as a module. Althoug the program is operational, the change is not completed yet. In particular, the docs are out of date and the tests will mostly fail. * .gitignore: Update. * Makefile.am (SUBDIRS): Add modules. * configure.ac: Mailutils is now optional (though highly recommended). (AC_CONFIG_FILES): Build modules/Makefile and modules/mailutils/Makefile. * modules/Makefile.am: New file. * modules/mailutils/Makefile.am: New file. * modules/mailutils/mod_mailutils.c: New file. * src/mail.c: Remove. * src/mail.h: Remove. * src/event.c: New file. * src/Makefile.am (wydawca_SOURCES): Update. (LDADD): Remove MAILUTILS_LIBS. * src/config.c: Remove mail-related configuration statements. Add module-related ones instead. * src/wydawca.h (notification_event) : New event. (notification_target): Remove. (notification) : Remove. : New member. (register_message_template): Remove. (notify_stats,notify_flush): New protos. (notification_target_str): Remove. (format_fn): Remove. (module) : New members. : Change signature. (modules_close, module_set_init) (module_flush): New protos. (debug_level): Rename to wy_debug_level. All uses changed. (wy_version): New extern. (admin_stat_message,admin_stat_sign_key): Remove. (default_notification): New global. (triplet_expand_param,triplet_expand_dictionary_query): The file_triplet argument is const pointer. (assert_string_arg): Rename to wy_assert_string_arg. * src/wydawca.c (debug_level): Rename to wy_debug_level. (wy_version): New global. (logstats): Call notify_stats. (main): Call modules_close. * src/module.c: Keep modules in a singly-linked list instead of a symtab. Provide new functions. * src/net.c: Update. * src/dictionary.c: Update. * src/directive.c: Update. * src/diskio.c: Update. * src/exec.c: Update. * src/gpg.c: Update. * src/job.c (wydawca_scanner): Call notify_flush. * src/null.c: Update. * src/process.c: Update. * src/sql.c: Update. * src/tcpwrap.c: Update. * src/triplet.c: Update. * src/verify.c: Update. * src/watcher.c: Update. --- src/watcher.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'src/watcher.c') diff --git a/src/watcher.c b/src/watcher.c index c18beab..1ba7c71 100644 --- a/src/watcher.c +++ b/src/watcher.c @@ -84,14 +84,14 @@ create_watcher(struct spool *sp, void *data) return 0; if (!sp->inotify_enable) { - if (debug_level > 1) + if (wy_debug_level > 1) logmsg(LOG_DEBUG, "disabling inotify support for spool %s", sp->tag); return 0; } - if (debug_level > 1) + if (wy_debug_level > 1) logmsg(LOG_DEBUG, "spool %s: creating watcher %s", sp->tag, path); dwp = malloc(sizeof(*dwp)); @@ -123,12 +123,12 @@ watcher_init() int ifd, rc; if (!inotify_enable) { - if (debug_level > 1) + if (wy_debug_level > 1) logmsg(LOG_DEBUG, "disabling inotify support"); return -1; } - if (debug_level > 1) + if (wy_debug_level > 1) logmsg(LOG_DEBUG, "setting up inotify"); ifd = inotify_init(); if (ifd == -1) { @@ -140,11 +140,11 @@ watcher_init() if (rc) exit(EX_OSERR); if (!dirwatcher_list) { - if (debug_level > 1) + if (wy_debug_level > 1) logmsg(LOG_DEBUG, "inotify: nothing to watch"); close(ifd); ifd = -1; - } else if (debug_level > 1) + } else if (wy_debug_level > 1) logmsg(LOG_DEBUG, "inotify initialized successfully"); return ifd; @@ -174,17 +174,17 @@ process_event(struct inotify_event *ep) else logmsg(LOG_NOTICE, "unrecognized event %x", ep->mask); } else if (ep->mask & IN_CREATE) { - if (debug_level > 0) + if (wy_debug_level > 0) logmsg(LOG_DEBUG, "%s/%s created", dwp->spool->source_dir, ep->name); } else if (ep->mask & (IN_DELETE | IN_MOVED_FROM)) { - if (debug_level > 0) + if (wy_debug_level > 0) logmsg(LOG_DEBUG, "%s/%s %s", dwp->spool->source_dir, ep->name, ep->mask & IN_DELETE ? "deleted" : "moved out"); triplet_remove_file(dwp->spool, ep->name); } else if (ep->mask & (IN_CLOSE_WRITE | IN_MOVED_TO)) { - if (debug_level > 0) + if (wy_debug_level > 0) logmsg(LOG_DEBUG, "%s/%s written", dwp->spool->source_dir, ep->name); if (spool_add_new_file(dwp->spool, ep->name, 0, NULL) == 0 -- cgit v1.2.1