Skip to content

Commit fd99882

Browse files
committed
zmq: added queue to source
* ZMQ contains flow-control itself * The queue is necessary to set path_options to not bother about acknowledgement * Previously there was a bug which ended in a segfault. After the first reload and message sending syslog-ng crashed because the bookmark wasn't set properly.
1 parent 721e742 commit fd99882

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

modules/zmq/zmq-source.c

+10
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
*
2222
*/
2323

24+
2425
#include <zmq.h>
2526

2627
#include "zmq-module.h"
@@ -225,6 +226,14 @@ zmq_sd_free(LogPipe *s)
225226
log_src_driver_free(s);
226227
}
227228

229+
static void
230+
zmq_sd_queue(LogPipe *s, LogMessage *msg, const LogPathOptions *path_options, gpointer user_data)
231+
{
232+
LogPathOptions *path_opt = path_options;
233+
path_opt->ack_needed = FALSE;
234+
log_src_driver_queue_method(s, msg, path_opt, user_data);
235+
}
236+
228237
LogDriver *
229238
zmq_sd_new(GlobalConfig *cfg)
230239
{
@@ -233,6 +242,7 @@ zmq_sd_new(GlobalConfig *cfg)
233242
log_src_driver_init_instance(&self->super, cfg);
234243

235244
self->super.super.super.init = zmq_sd_init;
245+
self->super.super.super.queue = zmq_sd_queue;
236246
self->super.super.super.deinit = zmq_sd_deinit;
237247
self->super.super.super.notify = zmq_sd_notify;
238248
self->super.super.super.free_fn = zmq_sd_free;

0 commit comments

Comments
 (0)