EasyLogger icon indicating copy to clipboard operation
EasyLogger copied to clipboard

elog_async.c条件编译标注问题

Open focusfeel opened this issue 4 years ago • 0 comments

在elog_async.c文件中line34~line65,源码为: #ifdef ELOG_ASYNC_OUTPUT_USING_PTHREAD #include <pthread.h> #include <sched.h> #include <semaphore.h> /* thread default stack size / #ifndef ELOG_ASYNC_OUTPUT_PTHREAD_STACK_SIZE #if PTHREAD_STACK_MIN > 41024 #define ELOG_ASYNC_OUTPUT_PTHREAD_STACK_SIZE PTHREAD_STACK_MIN #else #define ELOG_ASYNC_OUTPUT_PTHREAD_STACK_SIZE (11024) #endif / thread default priority / #ifndef ELOG_ASYNC_OUTPUT_PTHREAD_PRIORITY #define ELOG_ASYNC_OUTPUT_PTHREAD_PRIORITY (sched_get_priority_max(SCHED_RR) - 1) #endif / output thread poll get log buffer size / #ifndef ELOG_ASYNC_LINE_OUTPUT #ifndef ELOG_ASYNC_POLL_GET_LOG_BUF_SIZE #define ELOG_ASYNC_POLL_GET_LOG_BUF_SIZE (ELOG_ASYNC_OUTPUT_BUF_SIZE - 4) #endif #else #ifndef ELOG_ASYNC_POLL_GET_LOG_BUF_SIZE #define ELOG_ASYNC_POLL_GET_LOG_BUF_SIZE (ELOG_LINE_BUF_SIZE - 4) #endif #endif #endif / ELOG_ASYNC_OUTPUT_USING_PTHREAD */

/* asynchronous output log notice / static sem_t output_notice; / asynchronous output pthread thread / static pthread_t async_output_thread; #endif / ELOG_ASYNC_OUTPUT_ENABLE */

是否应当改为:

#ifdef ELOG_ASYNC_OUTPUT_USING_PTHREAD #include <pthread.h> #include <sched.h> #include <semaphore.h> /* thread default stack size / #ifndef ELOG_ASYNC_OUTPUT_PTHREAD_STACK_SIZE #if PTHREAD_STACK_MIN > 41024 #define ELOG_ASYNC_OUTPUT_PTHREAD_STACK_SIZE PTHREAD_STACK_MIN #else #define ELOG_ASYNC_OUTPUT_PTHREAD_STACK_SIZE (11024) #endif #endif / ELOG_ASYNC_OUTPUT_PTHREAD_STACK_SIZE*/ /* thread default priority / #ifndef ELOG_ASYNC_OUTPUT_PTHREAD_PRIORITY #define ELOG_ASYNC_OUTPUT_PTHREAD_PRIORITY (sched_get_priority_max(SCHED_RR) - 1) #endif / output thread poll get log buffer size */ #ifndef ELOG_ASYNC_LINE_OUTPUT #ifndef ELOG_ASYNC_POLL_GET_LOG_BUF_SIZE #define ELOG_ASYNC_POLL_GET_LOG_BUF_SIZE (ELOG_ASYNC_OUTPUT_BUF_SIZE - 4) #endif #else #ifndef ELOG_ASYNC_POLL_GET_LOG_BUF_SIZE #define ELOG_ASYNC_POLL_GET_LOG_BUF_SIZE (ELOG_LINE_BUF_SIZE - 4) #endif #endif

/* asynchronous output log notice / static sem_t output_notice; / asynchronous output pthread thread / static pthread_t async_output_thread; #endif / ELOG_ASYNC_OUTPUT_USING_PTHREAD */

focusfeel avatar Sep 17 '21 06:09 focusfeel