Changeset 151 in libcf for trunk/test/log.c
- Timestamp:
- 10/31/13 10:17:24 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/test/log.c
r148 r151 10 10 #include <stdio.h> 11 11 12 CF_Mutex_Ctx globalMutex; 12 #define COUNT 5 13 13 14 #define LOG_MT 1 14 cf_ctx globalLog; 15 cf_ctx globalMutex; 15 16 16 int test_log_mt(void * arg)17 int worker (void * arg) 17 18 { 18 19 static int cnt = 0; … … 32 33 for (i = 0 ; i < 10000 ; i++) 33 34 { 34 CF_Log_Write ( LOG_MT, "LOG_MT", "[%d] multi-threadedlogging test %d\n", th, i);35 CF_Log_Write (globalLog, "LOG_MT", "[%d] multi-threadedlogging test %d\n", th, i); 35 36 } 36 37 … … 42 43 int main (void) 43 44 { 44 int i, j; 45 char idname[16] = {0x00,}; 46 CF_Thread_Ctx tid[10]; 45 int i, j; 46 cf_ctx tid[COUNT]; 47 47 48 48 /* initialize */ 49 if (CF_Log_Initialize (10) < 0) 49 if (CF_Log_Create (&globalLog, "log.txt", CF_LOG_NO_BUFFER) < 0) 50 CF_DEBUG_PRINT (stderr, "failed to open log\n"); 51 52 for (j = 0 ; j < 10000 ; j++) 50 53 { 51 fprintf (stderr, "failed to init. log\n"); 52 return -1; 53 } 54 55 for (i = 0 ; i < 10 ; i++) 56 { 57 sprintf (idname, "logid%d.txt", i); 58 if (CF_Log_Open (i, idname, CF_LOG_NO_BUFFER) < 0) 59 fprintf (stderr, "failed to open log\n"); 60 } 61 62 for (i = 0 ; i < 10 ; i++) 63 { 64 for (j = 0 ; j < 10000 ; j++) 65 { 66 int result = CF_Log_Write (i, "LOG_ID_TEST", "turn %d\n", j); 67 if (result < 0) 68 fprintf (stderr, "failed to write log %d\n", result); 69 } 70 71 if (CF_Log_Close (i) < 0) 72 fprintf (stderr, "failed to close log\n"); 54 int result = CF_Log_Write (globalLog, "LOG_ID_TEST", "turn %d\n", j); 55 if (result < 0) 56 CF_DEBUG_PRINT (stderr, "failed to write log %d\n", result); 73 57 } 74 58 75 59 /* mt {{{ */ 76 if (CF_Log_ Open (LOG_MT, "log_mt.txt", CF_LOG_DEFAULT_BUFFER) < 0)60 if (CF_Log_Create (&globalLog, "log_mt.txt", CF_LOG_NO_BUFFER) < 0) 77 61 CF_DEBUG_PRINT (stderr, "create log ctx error\n"); 78 62 79 if (CF_Log_SetMT (LOG_MT, CF_TRUE) < 0) 80 CF_DEBUG_PRINT (stderr, "set multi-threading mode error\n"); 81 82 if (CF_Mutex_CreateCtx (&globalMutex) < 0) { 63 if (CF_Mutex_Create (&globalMutex) < 0) { 83 64 // error 84 65 } 85 66 86 for (i = 0 ; i < 10 ; i++) 67 if (CF_Log_SetMultiThread (globalLog) < 0) 68 CF_DEBUG_PRINT (stderr, "set multi-threading mode error\n"); 69 70 for (i = 0 ; i < COUNT ; i++) 87 71 { 88 if (CF_Thread_Create Ctx (&tid[i], test_log_mt, &i) < 0)72 if (CF_Thread_Create (&tid[i], worker, &i) < 0) 89 73 { 90 74 CF_DEBUG_PRINT (stderr, "failed to create %dth thread\n", i); … … 93 77 } 94 78 95 for (i = 0 ; i < 10; i++)79 for (i = 0 ; i < COUNT ; i++) 96 80 { 97 81 if (CF_Thread_Start (tid[i]) < 0) … … 102 86 } 103 87 104 for (i = 0 ; i < 10; i++)88 for (i = 0 ; i < COUNT ; i++) 105 89 { 106 90 if (CF_Thread_Join (tid[i]) < 0) 107 91 CF_DEBUG_PRINT (stderr, "failed to join %dth thread\n", i); 108 if (CF_Thread_Destroy Ctx(tid[i]) < 0)92 if (CF_Thread_Destroy (tid[i]) < 0) 109 93 CF_DEBUG_PRINT (stderr, "failed to release %dth thread\n", i); 110 94 } 111 95 112 if (CF_Mutex_DestoryCtx (globalMutex) < 0) { 96 if (CF_Log_UnsetMultiThread (globalLog) < 0) 97 CF_DEBUG_PRINT (stderr, "set multi-threading mode error\n"); 98 99 if (CF_Mutex_Destory (globalMutex) < 0) { 113 100 // error 114 101 } … … 116 103 117 104 /* finalize */ 118 CF_Log_ Finalize ();105 CF_Log_Destroy (globalLog); 119 106 120 107 return 0;
Note:
See TracChangeset
for help on using the changeset viewer.