Changeset 151 in libcf for trunk/src/cf_thread.c
- Timestamp:
- 10/31/13 10:17:24 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/cf_thread.c
r149 r151 7 7 */ 8 8 #include "cf_thread.h" 9 #include "cf_local.h" 9 10 #include "cf_error.h" 10 11 … … 24 25 #endif // #if defined(_WIN32) || defined(_WIN64) 25 26 26 #define ASSERT_ THREAD_CTX(__ctx) \27 #define ASSERT_CTX(__ctx) \ 27 28 if (__ctx == NULL) \ 28 29 return CF_ERROR_THREAD_INVALID_CTX … … 47 48 */ 48 49 int 49 CF_Thread_Create Ctx (CF_Thread_Ctx* ctx,50 51 void* arg)50 CF_Thread_Create (cf_ctx * ctx, 51 CF_Thread_Function callback, 52 void * arg) 52 53 { 53 54 CF_THREAD_CONTEXT * context = NULL; 54 55 55 context = (CF_THREAD_CONTEXT *) calloc (sizeof (CF_THREAD_CONTEXT), 1);56 context = NEWCTX (CF_THREAD_CONTEXT); 56 57 if (context == NULL) 57 58 return CF_ERROR_THREAD_CREATE_CTX; … … 60 61 context->arg = arg; 61 62 62 *ctx = ( CF_Thread_Ctx) context;63 *ctx = (cf_ctx) context; 63 64 64 65 return CF_OK; … … 74 75 * \remarks 75 76 * 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 /> 78 81 * <br /> 79 82 * 참고 url <br /> … … 82 85 */ 83 86 int 84 CF_Thread_Start ( CF_Thread_Ctx ctx)87 CF_Thread_Start (cf_ctx ctx) 85 88 { 86 89 int result = 0; … … 88 91 CF_THREAD_CONTEXT * context = (CF_THREAD_CONTEXT *) ctx; 89 92 90 ASSERT_ THREAD_CTX (ctx);93 ASSERT_CTX (ctx); 91 94 92 95 #if defined(_WIN32) || defined(_WIN64) … … 138 141 */ 139 142 int 140 CF_Thread_Destroy Ctx (CF_Thread_Ctx ctx)143 CF_Thread_Destroy (cf_ctx ctx) 141 144 { 142 145 CF_THREAD_CONTEXT * context = (CF_THREAD_CONTEXT *) ctx; 143 146 144 ASSERT_ THREAD_CTX (ctx);147 ASSERT_CTX (ctx); 145 148 146 149 #if defined(_WIN32) || defined(_WIN64) … … 163 166 */ 164 167 int 165 CF_Thread_Join ( CF_Thread_Ctx ctx)168 CF_Thread_Join (cf_ctx ctx) 166 169 { 167 170 CF_THREAD_CONTEXT * context = (CF_THREAD_CONTEXT *) ctx; … … 169 172 char status[16] = {0x00,}; 170 173 171 ASSERT_ THREAD_CTX (ctx);174 ASSERT_CTX (ctx); 172 175 173 176 #if defined(_WIN32) || defined(_WIN64)
Note:
See TracChangeset
for help on using the changeset viewer.