static int __write_to_log_init(log_id_t log_id, struct iovec *vec, size_t nr) { DECLARE_SIGSET(sigflags); lock(&sigflags); if (write_to_log == __write_to_log_init) { int ret; ret = __write_to_log_initialize(); if (ret < 0) { unlock(&sigflags); #if (FAKE_LOG_DEVICE == 0) if (pstore_fd >= 0) { __write_to_log_daemon(log_id, vec, nr); } #endif return ret; } write_to_log = __write_to_log_daemon; } unlock(&sigflags); return write_to_log(log_id, vec, nr); }
static int __write_to_log_init(log_id_t log_id, struct iovec *vec, size_t nr) { #if !defined(_WIN32) pthread_mutex_lock(&log_init_lock); #endif if (write_to_log == __write_to_log_init) { int ret; ret = __write_to_log_initialize(); if (ret < 0) { #if !defined(_WIN32) pthread_mutex_unlock(&log_init_lock); #endif #if (FAKE_LOG_DEVICE == 0) if (pstore_fd >= 0) { __write_to_log_daemon(log_id, vec, nr); } #endif return ret; } write_to_log = __write_to_log_daemon; } #if !defined(_WIN32) pthread_mutex_unlock(&log_init_lock); #endif return write_to_log(log_id, vec, nr); }