Overview
Comment: | Updated to open log file early (as documented) and to also flush the log file after every entry |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: | 0c9ffb4cd9313d0fb6cb30ef67b52202e253d02f |
User & Date: | rkeene on 2014-02-08 00:43:38 |
Other Links: | manifest | tags |
Context
2014-02-08
| ||
02:29 | Cosmetic man page fix check-in: d91a19e005 user: rkeene tags: trunk | |
00:43 | Updated to open log file early (as documented) and to also flush the log file after every entry check-in: 0c9ffb4cd9 user: rkeene tags: trunk | |
00:29 | Allow user to specify log file check-in: 4540126d59 user: rkeene tags: trunk | |
Changes
Modified filed.c from [fcb400b744] to [b4d256af0b].
182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 ... 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 .... 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 .... 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 .... 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 |
return(fd); } /* Log a message */ //#define FILED_DONT_LOG #ifdef FILED_DONT_LOG # define filed_logging_thread_init() 0 # define filed_log_msg_debug(x, ...) /**/ # define filed_log_msg(x) /**/ #else #ifdef FILED_DEBUG # define filed_log_msg_debug(x, ...) { fprintf(stderr, x, __VA_ARGS__); fprintf(stderr, "\n"); fflush(stderr); } #else # define filed_log_msg_debug(x, ...) /**/ ................................................................................ prev = curr; } curr = prev; while (curr) { fprintf(fp, "%s THREAD=%llu\n", curr->buffer, (unsigned long long) curr->thread); prev = curr; curr = curr->_prev; free(prev); } } return(NULL); } static int filed_logging_thread_init(const char *logfile) { struct filed_logging_thread_args *args; pthread_t thread_id; FILE *logfp; if (strcmp(logfile, "-") == 0) { logfp = stdout; } else { logfp = fopen(logfile, "a+"); if (logfp == NULL) { return(1); } } args = malloc(sizeof(*args)); args->fp = logfp; filed_log_msg_list = NULL; pthread_mutex_init(&filed_log_msg_list_mutex, NULL); ................................................................................ return(0); } /* Run process */ int main(int argc, char **argv) { struct option options[10]; const char *bind_addr = BIND_ADDR, *newroot = NULL, *log_file = LOG_FILE; uid_t user = 0; int port = PORT, thread_count = THREAD_COUNT; int cache_size = CACHE_SIZE; int init_ret, chroot_ret, setuid_ret, lookup_ret, chdir_ret; int setuid_enabled = 0, daemon_enabled = 0; int ch; int fd; ................................................................................ return(1); case 'h': filed_print_help(stdout, 1, NULL); return(0); } } /* Create listening socket */ fd = filed_listen(bind_addr, port); if (fd < 0) { perror("filed_listen"); return(1); ................................................................................ if (init_ret != 0) { perror("filed_init"); return(3); } /* Create logging thread */ init_ret = filed_logging_thread_init(log_file); if (init_ret != 0) { perror("filed_logging_thread_init"); return(4); } /* Create worker threads */ |
| > | < < < < < < < < < < > > > > > > > > > > > > > | |
182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 ... 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 ... 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 .... 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 .... 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 |
return(fd); } /* Log a message */ //#define FILED_DONT_LOG #ifdef FILED_DONT_LOG # define filed_logging_thread_init(x) 0 # define filed_log_msg_debug(x, ...) /**/ # define filed_log_msg(x) /**/ #else #ifdef FILED_DEBUG # define filed_log_msg_debug(x, ...) { fprintf(stderr, x, __VA_ARGS__); fprintf(stderr, "\n"); fflush(stderr); } #else # define filed_log_msg_debug(x, ...) /**/ ................................................................................ prev = curr; } curr = prev; while (curr) { fprintf(fp, "%s THREAD=%llu\n", curr->buffer, (unsigned long long) curr->thread); fflush(fp); prev = curr; curr = curr->_prev; free(prev); } } return(NULL); } static int filed_logging_thread_init(FILE *logfp) { struct filed_logging_thread_args *args; pthread_t thread_id; args = malloc(sizeof(*args)); args->fp = logfp; filed_log_msg_list = NULL; pthread_mutex_init(&filed_log_msg_list_mutex, NULL); ................................................................................ return(0); } /* Run process */ int main(int argc, char **argv) { struct option options[10]; const char *bind_addr = BIND_ADDR, *newroot = NULL, *log_file = LOG_FILE; FILE *log_fp; uid_t user = 0; int port = PORT, thread_count = THREAD_COUNT; int cache_size = CACHE_SIZE; int init_ret, chroot_ret, setuid_ret, lookup_ret, chdir_ret; int setuid_enabled = 0, daemon_enabled = 0; int ch; int fd; ................................................................................ return(1); case 'h': filed_print_help(stdout, 1, NULL); return(0); } } /* Open log file */ if (strcmp(log_file, "-") == 0) { log_fp = stdout; } else { log_fp = fopen(log_file, "a+"); if (log_fp == NULL) { perror("fopen"); return(4); } } /* Create listening socket */ fd = filed_listen(bind_addr, port); if (fd < 0) { perror("filed_listen"); return(1); ................................................................................ if (init_ret != 0) { perror("filed_init"); return(3); } /* Create logging thread */ init_ret = filed_logging_thread_init(log_fp); if (init_ret != 0) { perror("filed_logging_thread_init"); return(4); } /* Create worker threads */ |