LogReader * log_reader_new(GlobalConfig *cfg) { LogReader *self = g_new0(LogReader, 1); log_source_init_instance(&self->super, cfg); self->super.super.init = log_reader_init; self->super.super.deinit = log_reader_deinit; self->super.super.free_fn = log_reader_free; self->super.wakeup = log_reader_wakeup; self->immediate_check = FALSE; log_reader_init_watches(self); g_static_mutex_init(&self->pending_proto_lock); self->pending_proto_cond = g_cond_new(); return self; }
LogPipe * log_reader_new(LogProto *proto) { LogReader *self = g_new0(LogReader, 1); log_source_init_instance(&self->super); self->super.super.init = log_reader_init; self->super.super.deinit = log_reader_deinit; self->super.super.free_fn = log_reader_free; self->super.wakeup = log_reader_wakeup; self->proto = proto; self->immediate_check = FALSE; self->pollable_state = -1; log_reader_init_watches(self); g_static_mutex_init(&self->pending_proto_lock); self->pending_proto_cond = g_cond_new(); return &self->super.super; }