vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Sun Nov 18 16:04:35 2018 +0200| [cbf9f6d2fcfc946350f7329c86c4a7b1168e6bf5] | committer: Rémi Denis-Courmont
log: remove special case for early logger > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=cbf9f6d2fcfc946350f7329c86c4a7b1168e6bf5 --- src/misc/messages.c | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/src/misc/messages.c b/src/misc/messages.c index 34466842e1..56e4ef6ee7 100644 --- a/src/misc/messages.c +++ b/src/misc/messages.c @@ -274,7 +274,7 @@ static void vlc_LogEarlyClose(void *d) static const struct vlc_logger_operations early_ops = { vlc_vaLogEarly, - NULL, + vlc_LogEarlyClose, }; static int vlc_LogEarlyOpen(vlc_logger_t *logger) @@ -373,27 +373,26 @@ int vlc_LogInit(libvlc_int_t *vlc) if (unlikely(logger == NULL)) return -1; - const struct vlc_logger_operations *ops; - void *sys, *early_sys = NULL; + const struct vlc_logger_operations *ops, *old_ops; + void *opaque, *old_opaque = NULL; /* TODO: module configuration item */ module_t *module = vlc_module_load(logger, "logger", NULL, false, - vlc_logger_load, logger, &ops, &sys); + vlc_logger_load, logger, &ops, &opaque); if (module == NULL) ops = &discard_ops; vlc_rwlock_wrlock(&logger->lock); - if (logger->ops == &early_ops) - early_sys = logger->sys; - + old_ops = logger->ops; + old_opaque = logger->sys; logger->ops = ops; - logger->sys = sys; + logger->sys = opaque; assert(logger->module == NULL); /* Only one call to vlc_LogInit()! */ logger->module = module; vlc_rwlock_unlock(&logger->lock); - if (early_sys != NULL) - vlc_LogEarlyClose(early_sys); + if (old_ops->destroy != NULL) + old_ops->destroy(old_opaque); return 0; } @@ -451,13 +450,6 @@ void vlc_LogDeinit(libvlc_int_t *vlc) logger->ops->destroy(logger->sys); if (logger->module != NULL) vlc_module_unload(vlc, logger->module, vlc_logger_unload, logger->sys); - else - /* Flush early log messages (corner case: no call to vlc_LogInit()) */ - if (logger->ops == &early_ops) - { - logger->ops = &discard_ops; - vlc_LogEarlyClose(logger->sys); - } vlc_rwlock_destroy(&logger->lock); vlc_object_release(logger); _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
