ithewei 6 роки тому
батько
коміт
afe9b2b328
2 змінених файлів з 8 додано та 5 видалено
  1. 3 0
      base/hlog.h
  2. 5 5
      http/server/HttpServer.cpp

+ 3 - 0
base/hlog.h

@@ -86,6 +86,9 @@ logger_t* default_logger();
 #define hlog_set_level(level)           logger_set_level(hlog, level)
 #define hlog_set_max_filesize(filesize) logger_set_max_filesize(hlog, filesize)
 #define hlog_set_remain_days(days)      logger_set_remain_days(hlog, days)
+#define hlog_enable_fsync()             logger_enable_fsync(hlog, 1)
+#define hlog_disable_fsync()            logger_enable_fsync(hlog, 0)
+#define hlog_fsync()                    logger_fsync(hlog)
 
 #define hlogd(fmt, ...) logger_print(hlog, LOG_LEVEL_DEBUG, fmt " [%s:%d:%s]\n", ## __VA_ARGS__, __FILE__, __LINE__, __FUNCTION__)
 #define hlogi(fmt, ...) logger_print(hlog, LOG_LEVEL_INFO,  fmt " [%s:%d:%s]\n", ## __VA_ARGS__, __FILE__, __LINE__, __FUNCTION__)

+ 5 - 5
http/server/HttpServer.cpp

@@ -274,8 +274,8 @@ static void handle_cached_files(htimer_t* timer) {
     }
 }
 
-static void fflush_log(hidle_t* idle) {
-    logger_fsync(hlog);
+static void fsync_logfile(hidle_t* idle) {
+    hlog_fsync();
 }
 
 // for implement http_server_stop
@@ -295,9 +295,9 @@ static void worker_proc(void* userdata) {
     if (server->ssl) {
         hio_enable_ssl(listenio);
     }
-    // fflush logfile when idle
-    logger_enable_fsync(hlog, 0);
-    hidle_add(loop, fflush_log, INFINITE);
+    // fsync logfile when idle
+    hlog_disable_fsync();
+    hidle_add(loop, fsync_logfile, INFINITE);
     // timer handle_cached_files
     htimer_t* timer = htimer_add(loop, handle_cached_files, s_filecache.file_cached_time*1000);
     hevent_set_userdata(timer, &s_filecache);