Changeset 151 in libcf for trunk/src/cf_thread.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/src/cf_thread.c

    r149 r151  
    77 */
    88#include "cf_thread.h"
     9#include "cf_local.h"
    910#include "cf_error.h"
    1011
     
    2425#endif // #if defined(_WIN32) || defined(_WIN64)
    2526
    26 #define ASSERT_THREAD_CTX(__ctx)    \
     27#define ASSERT_CTX(__ctx)   \
    2728    if (__ctx == NULL)              \
    2829        return CF_ERROR_THREAD_INVALID_CTX
     
    4748 */
    4849int
    49 CF_Thread_CreateCtx (CF_Thread_Ctx      * ctx,
    50                     CF_Thread_Function callback,
    51                      void               * arg)
     50CF_Thread_Create (cf_ctx                * ctx,
     51                  CF_Thread_Function    callback,
     52                  void                  * arg)
    5253{
    5354    CF_THREAD_CONTEXT * context = NULL;
    5455
    55     context = (CF_THREAD_CONTEXT *) calloc (sizeof (CF_THREAD_CONTEXT), 1);
     56    context = NEWCTX (CF_THREAD_CONTEXT);
    5657    if (context == NULL)
    5758        return CF_ERROR_THREAD_CREATE_CTX;
     
    6061    context->arg        = arg;
    6162
    62     *ctx = (CF_Thread_Ctx) context;
     63    *ctx = (cf_ctx) context;
    6364
    6465    return CF_OK;
     
    7475 * \remarks
    7576 * pthread에서 지원되는 스케줄링 정책은 SCHED_OTHER, SCHED_FIFO, SCHED_RR 등이 존재 <br />
    76  * 일반적으로 설정되는 스케줄링 정책의 기본값은 SCHED_OTHER이며, 솔라리스 환경에서 SCHED_OTHER는 TS(timesharing) 방식으로 명시되어 있음 <br />
    77  * 그러나 개발 단계에서 테스트된 동작은 SCHED_FIFO와 동일하였으며, 때문에 솔라리스 환경에서는 스케줄링 정책을 SCHED_RR로 명시하도록 함 <br />
     77 * 일반적으로 설정되는 스케줄링 정책의 기본값은 SCHED_OTHER이며,
     78 * 솔라리스 환경에서 SCHED_OTHER는 TS(timesharing) 방식으로 명시되어 있음 <br />
     79 * 그러나 개발 단계에서 테스트된 동작은 SCHED_FIFO와 동일하였으며,
     80 * 때문에 솔라리스 환경에서는 스케줄링 정책을 SCHED_RR로 명시하도록 함 <br />
    7881 * <br />
    7982 * 참고 url <br />
     
    8285 */
    8386int
    84 CF_Thread_Start (CF_Thread_Ctx ctx)
     87CF_Thread_Start (cf_ctx ctx)
    8588{
    8689    int result = 0;
     
    8891    CF_THREAD_CONTEXT * context = (CF_THREAD_CONTEXT *) ctx;
    8992
    90     ASSERT_THREAD_CTX (ctx);
     93    ASSERT_CTX (ctx);
    9194
    9295#if defined(_WIN32) || defined(_WIN64)
     
    138141 */
    139142int
    140 CF_Thread_DestroyCtx (CF_Thread_Ctx ctx)
     143CF_Thread_Destroy (cf_ctx ctx)
    141144{
    142145    CF_THREAD_CONTEXT * context = (CF_THREAD_CONTEXT *) ctx;
    143146
    144     ASSERT_THREAD_CTX (ctx);
     147    ASSERT_CTX (ctx);
    145148
    146149#if defined(_WIN32) || defined(_WIN64)
     
    163166 */
    164167int
    165 CF_Thread_Join (CF_Thread_Ctx ctx)
     168CF_Thread_Join (cf_ctx ctx)
    166169{
    167170    CF_THREAD_CONTEXT * context = (CF_THREAD_CONTEXT *) ctx;
     
    169172    char status[16] = {0x00,};
    170173
    171     ASSERT_THREAD_CTX (ctx);
     174    ASSERT_CTX (ctx);
    172175
    173176#if defined(_WIN32) || defined(_WIN64)
Note: See TracChangeset for help on using the changeset viewer.