Changeset 151 in libcf for trunk/src/cf_debug.c
- Timestamp:
- 10/31/13 10:17:24 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/cf_debug.c
r147 r151 28 28 return CF_ERROR_DEBUG_INVALID_CTX 29 29 30 /** 디버그 컨텍스트 (Opaque) */31 typedef void * CF_Debug_Ctx;32 33 30 /** 콜스택 인터페이스 */ 34 typedef struct cf_debug_callStack { 31 typedef struct cf_debug_callStack 32 { 35 33 char file[NAME_LENGTH + 1]; /* *< 파일 이름 */ 36 34 char function[NAME_LENGTH + 1]; /* *< 함수 이름 */ … … 50 48 } CF_DEBUG_CALLSTACK; 51 49 52 /** 디버그 컨텍스트 ( CF_Debug_Ctx의 구현) */50 /** 디버그 컨텍스트 (cf_ctx의 구현) */ 53 51 typedef struct __cf_debug_ctx__ 54 52 { 55 int 56 CF_Mutex_Ctx mutex;53 int fd; 54 cf_ctx mutex; 57 55 58 56 CF_DEBUG_CALLSTACK callstack; 59 } CF_DEBUG_C TX;60 61 static CF_Debug_Ctx gDebugSingleCtx = NULL;57 } CF_DEBUG_CONTEXT; 58 59 static cf_ctx gDebugSingleCtx = NULL; 62 60 63 61 static int … … 187 185 */ 188 186 static int 189 CF_Debug_CallStackPush ( CF_Debug_Ctxctx,190 const char 191 const char 192 const int 193 { 194 CF_DEBUG_C TX * context = (CF_DEBUG_CTX*) ctx;187 CF_Debug_CallStackPush (cf_ctx ctx, 188 const char * file, 189 const char * func, 190 const int line) 191 { 192 CF_DEBUG_CONTEXT * context = (CF_DEBUG_CONTEXT *) ctx; 195 193 CF_DEBUG_CALLSTACK * push = NULL; 196 194 197 195 ASSERT_CTX (ctx); 198 196 199 push = (CF_DEBUG_CALLSTACK *) calloc (sizeof (CF_DEBUG_CALLSTACK), 1);197 push = NEWCTX (CF_DEBUG_CALLSTACK); 200 198 if (push == NULL) 201 199 return CF_ERROR_DEBUG_PUSH_CALLSTACK; … … 223 221 */ 224 222 static int 225 CF_Debug_CallStackPeek ( CF_Debug_Ctxctx,223 CF_Debug_CallStackPeek (cf_ctx ctx, 226 224 CF_Debug_CallStack * callstack) 227 225 { 228 CF_DEBUG_C TX * context = (CF_DEBUG_CTX*) ctx;226 CF_DEBUG_CONTEXT * context = (CF_DEBUG_CONTEXT *) ctx; 229 227 CF_DEBUG_CALLSTACK * pop = NULL; 230 228 … … 254 252 */ 255 253 static int 256 CF_Debug_CallStackPop ( CF_Debug_Ctxctx,254 CF_Debug_CallStackPop (cf_ctx ctx, 257 255 CF_Debug_CallStack * callstack) 258 256 { 259 CF_DEBUG_C TX * context = (CF_DEBUG_CTX*) ctx;257 CF_DEBUG_CONTEXT * context = (CF_DEBUG_CONTEXT *) ctx; 260 258 CF_DEBUG_CALLSTACK * pop = NULL; 261 259 … … 283 281 */ 284 282 static int 285 CF_Debug_Destroy Ctx (CF_Debug_Ctx ctx)286 { 287 CF_DEBUG_C TX * context = (CF_DEBUG_CTX*) ctx;283 CF_Debug_Destroy (cf_ctx ctx) 284 { 285 CF_DEBUG_CONTEXT * context = (CF_DEBUG_CONTEXT *) ctx; 288 286 289 287 ASSERT_CTX (ctx); … … 293 291 294 292 if (context->mutex) 295 CF_Mutex_Destory Ctx(context->mutex);293 CF_Mutex_Destory (context->mutex); 296 294 297 295 free (context); … … 303 301 * 디버그 컨텍스트를 생성 304 302 * 305 * \return 성공 시, CF_Debug_Ctx 형태의 컨텍스트; 실패 시, NULL303 * \return 성공 시, cf_ctx 형태의 컨텍스트; 실패 시, NULL 306 304 * 307 305 * \param ctx 디버그 컨텍스트 308 306 */ 309 307 static int 310 CF_Debug_CreateCtx (CF_Debug_Ctx * ctx) 311 { 312 int result = 0; 313 CF_DEBUG_CTX * context = NULL; 308 CF_Debug_Create (cf_ctx * ctx) 309 { 310 int result = 0; 311 312 CF_DEBUG_CONTEXT * context = NULL; 314 313 315 314 TRY 316 315 { 317 context = (CF_DEBUG_CTX *) calloc (sizeof (CF_DEBUG_CTX), 1);316 context = NEWCTX (CF_DEBUG_CONTEXT); 318 317 if (context == NULL) 319 318 { … … 322 321 } 323 322 324 result = CF_Mutex_Create Ctx(&context->mutex);323 result = CF_Mutex_Create (&context->mutex); 325 324 if (result < 0) 326 325 { … … 328 327 } 329 328 330 *ctx = ( CF_Debug_Ctx) context;329 *ctx = (cf_ctx) context; 331 330 } 332 331 CATCH_IF (result < 0) 333 332 { 334 CF_Debug_Destroy Ctx(context);333 CF_Debug_Destroy (context); 335 334 } 336 335 … … 349 348 350 349 if (gDebugSingleCtx == NULL) 351 result = CF_Debug_Create Ctx(&gDebugSingleCtx);350 result = CF_Debug_Create (&gDebugSingleCtx); 352 351 353 352 return result; … … 362 361 CF_Debug_Finalize (void) 363 362 { 364 CF_Debug_Ctx ctx = gDebugSingleCtx;363 cf_ctx ctx = gDebugSingleCtx; 365 364 366 365 gDebugSingleCtx = NULL; 367 366 368 return CF_Debug_Destroy Ctx(ctx);367 return CF_Debug_Destroy (ctx); 369 368 } 370 369 … … 383 382 const int line) 384 383 { 385 CF_DEBUG_C TX * ctx = (CF_DEBUG_CTX*)gDebugSingleCtx;384 CF_DEBUG_CONTEXT * ctx = (CF_DEBUG_CONTEXT *)gDebugSingleCtx; 386 385 387 386 ASSERT_CTX (ctx); … … 402 401 CF_Debug_LeaveFunction (void) 403 402 { 404 CF_DEBUG_C TX * ctx = (CF_DEBUG_CTX*)gDebugSingleCtx;403 CF_DEBUG_CONTEXT * ctx = (CF_DEBUG_CONTEXT *)gDebugSingleCtx; 405 404 406 405 ASSERT_CTX (ctx); … … 425 424 int iter = 0; 426 425 427 CF_DEBUG_C TX* ctx = gDebugSingleCtx;426 CF_DEBUG_CONTEXT * ctx = gDebugSingleCtx; 428 427 CF_DEBUG_CALLSTACK * callstack = NULL; 429 428
Note:
See TracChangeset
for help on using the changeset viewer.