]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib: io_add_notify() wasn't setting struct io.source_linenum
authorTimo Sirainen <tss@iki.fi>
Wed, 19 Aug 2015 18:24:50 +0000 (21:24 +0300)
committerTimo Sirainen <tss@iki.fi>
Wed, 19 Aug 2015 18:24:50 +0000 (21:24 +0300)
src/lib/ioloop-notify-inotify.c
src/lib/ioloop-notify-kqueue.c
src/lib/ioloop-notify-none.c
src/lib/ioloop.h

index a67ed5a0395cdac66b096c04f573339800b8752d..ff161fe0d26f838e50df80b29911eded26dc8b03 100644 (file)
@@ -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;
 }
 
index c814855eeb2986db88abe4d7ba9660f9ba418dea..2009aca47730355b93f3dea00c9269a3eec7ccb6 100644 (file)
@@ -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;
index 3a92202f62ba48ef54f6a8d1a289f98c49273325..07448764fb99de4b46064af7d3be4d30fbb977e4 100644 (file)
@@ -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)
 {
index f1f131b0e8fc243be65ef003110736449a659491..d0add4e1b2422a442d106202d6f35d470fa2e335 100644 (file)
@@ -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,