From: Timo Sirainen Date: Wed, 19 Aug 2015 18:24:50 +0000 (+0300) Subject: lib: io_add_notify() wasn't setting struct io.source_linenum X-Git-Tag: 2.2.19.rc1~210 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f6845101f2d6b8068e352a0b5a0d4bb04e20ad74;p=thirdparty%2Fdovecot%2Fcore.git lib: io_add_notify() wasn't setting struct io.source_linenum --- diff --git a/src/lib/ioloop-notify-inotify.c b/src/lib/ioloop-notify-inotify.c index a67ed5a039..ff161fe0d2 100644 --- a/src/lib/ioloop-notify-inotify.c +++ b/src/lib/ioloop-notify-inotify.c @@ -85,8 +85,9 @@ static void inotify_input(struct ioloop *ioloop) } #undef io_add_notify -enum io_notify_result io_add_notify(const char *path, io_callback_t *callback, - void *context, struct io **io_r) +enum io_notify_result +io_add_notify(const char *path, unsigned int source_linenum, + io_callback_t *callback, void *context, struct io **io_r) { struct ioloop_notify_handler_context *ctx = current_ioloop->notify_handler_context; @@ -125,6 +126,7 @@ enum io_notify_result io_add_notify(const char *path, io_callback_t *callback, } *io_r = io_notify_fd_add(&ctx->fd_ctx, wd, callback, context); + (*io_r)->source_linenum = source_linenum; return IO_NOTIFY_ADDED; } diff --git a/src/lib/ioloop-notify-kqueue.c b/src/lib/ioloop-notify-kqueue.c index c814855eeb..2009aca477 100644 --- a/src/lib/ioloop-notify-kqueue.c +++ b/src/lib/ioloop-notify-kqueue.c @@ -104,8 +104,9 @@ void io_loop_notify_handler_deinit(struct ioloop *ioloop) } #undef io_add_notify -enum io_notify_result io_add_notify(const char *path, io_callback_t *callback, - void *context, struct io **io_r) +enum io_notify_result +io_add_notify(const char *path, unsigned int source_linenum, + io_callback_t *callback, void *context, struct io **io_r) { struct ioloop_notify_handler_context *ctx = current_ioloop->notify_handler_context; @@ -128,6 +129,7 @@ enum io_notify_result io_add_notify(const char *path, io_callback_t *callback, io = i_new(struct io_notify, 1); io->io.condition = IO_NOTIFY; + io->io.source_linenum = source_linenum; io->io.callback = callback; io->io.context = context; io->io.ioloop = current_ioloop; diff --git a/src/lib/ioloop-notify-none.c b/src/lib/ioloop-notify-none.c index 3a92202f62..07448764fb 100644 --- a/src/lib/ioloop-notify-none.c +++ b/src/lib/ioloop-notify-none.c @@ -8,6 +8,7 @@ #undef io_add_notify enum io_notify_result io_add_notify(const char *path ATTR_UNUSED, + unsigned int source_linenum ATTR_UNUSED, io_callback_t *callback ATTR_UNUSED, void *context ATTR_UNUSED, struct io **io_r) { diff --git a/src/lib/ioloop.h b/src/lib/ioloop.h index f1f131b0e8..d0add4e1b2 100644 --- a/src/lib/ioloop.h +++ b/src/lib/ioloop.h @@ -55,10 +55,11 @@ struct io *io_add(int fd, enum io_condition condition, CALLBACK_TYPECHECK(callback, void (*)(typeof(context))), \ (io_callback_t *)callback, context) enum io_notify_result -io_add_notify(const char *path, io_callback_t *callback, - void *context, struct io **io_r) ATTR_NULL(3); +io_add_notify(const char *path, unsigned int source_linenum, + io_callback_t *callback, void *context, + struct io **io_r) ATTR_NULL(3); #define io_add_notify(path, callback, context, io_r) \ - io_add_notify(path + \ + io_add_notify(path, __LINE__ + \ CALLBACK_TYPECHECK(callback, void (*)(typeof(context))), \ (io_callback_t *)callback, context, io_r) struct io *io_add_istream(struct istream *input, unsigned int source_linenum,