Changeset 151 in libcf for trunk/test/log.c


Ignore:
Timestamp:
10/31/13 10:17:24 (11 years ago)
Author:
cheese
Message:

#1 fix interface and add util module

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/test/log.c

    r148 r151  
    1010#include <stdio.h>
    1111
    12 CF_Mutex_Ctx globalMutex;
     12#define COUNT   5
    1313
    14 #define LOG_MT      1
     14cf_ctx  globalLog;
     15cf_ctx  globalMutex;
    1516
    16 int test_log_mt (void * arg)
     17int worker (void * arg)
    1718{
    1819    static int cnt = 0;
     
    3233    for (i = 0 ; i < 10000 ; i++)
    3334    {
    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);
    3536    }
    3637
     
    4243int main (void)
    4344{
    44     int             i, j;
    45     char            idname[16] = {0x00,};
    46     CF_Thread_Ctx   tid[10];
     45    int     i, j;
     46    cf_ctx  tid[COUNT];
    4747
    4848    /* 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++)
    5053    {
    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);
    7357    }
    7458
    7559    /* 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)
    7761        CF_DEBUG_PRINT (stderr, "create log ctx error\n");
    7862
    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) {
    8364        // error
    8465    }
    8566
    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++)
    8771    {
    88         if (CF_Thread_CreateCtx (&tid[i], test_log_mt, &i) < 0)
     72        if (CF_Thread_Create (&tid[i], worker, &i) < 0)
    8973        {
    9074            CF_DEBUG_PRINT (stderr, "failed to create %dth thread\n", i);
     
    9377    }
    9478
    95     for (i = 0 ; i < 10 ; i++)
     79    for (i = 0 ; i < COUNT ; i++)
    9680    {
    9781        if (CF_Thread_Start (tid[i]) < 0)
     
    10286    }
    10387
    104     for (i = 0 ; i < 10 ; i++)
     88    for (i = 0 ; i < COUNT ; i++)
    10589    {
    10690        if (CF_Thread_Join (tid[i]) < 0)
    10791            CF_DEBUG_PRINT (stderr, "failed to join %dth thread\n", i);
    108         if (CF_Thread_DestroyCtx (tid[i]) < 0)
     92        if (CF_Thread_Destroy (tid[i]) < 0)
    10993            CF_DEBUG_PRINT (stderr, "failed to release %dth thread\n", i);
    11094    }
    11195
    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) {
    113100        // error
    114101    }
     
    116103
    117104    /* finalize */
    118     CF_Log_Finalize ();
     105    CF_Log_Destroy (globalLog);
    119106
    120107    return 0;
Note: See TracChangeset for help on using the changeset viewer.