Navigation



Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • freeDiameter/p_expiry.c

    r25 r16  
    4747static void * gc_th_fct(void * arg)
    4848{
    49         fd_log_threadname ( "Peers/garb. col." );
    50         TRACE_ENTRY( "%p", arg );
     49        fd_log_threadname ( "Peers/garbage" );
     50        TRACE_ENTRY( "" );
    5151       
    5252        do {
    5353                struct fd_list * li, purge = FD_LIST_INITIALIZER(purge);
    5454               
    55                 sleep(GC_TIME); /* sleep is a cancellation point */
     55                pthread_testcancel();
     56                sleep(GC_TIME);
    5657               
    5758                /* Now check in the peers list if any peer can be deleted */
     
    8788        TRACE_DEBUG(INFO, "An error occurred in peers module! GC thread is terminating...");
    8889        ASSERT(0);
    89         CHECK_FCT_DO(fd_event_send(fd_g_config->cnf_main_ev, FDEV_TERMINATE, 0, NULL), );
     90        CHECK_FCT_DO(fd_event_send(fd_g_config->cnf_main_ev, FDEV_TERMINATE, NULL), );
    9091        return NULL;
    9192}
     
    9596{
    9697        fd_log_threadname ( "Peers/expire" );
    97         TRACE_ENTRY( "%p", arg );
     98        TRACE_ENTRY( "" );
    9899       
    99100        CHECK_POSIX_DO( pthread_mutex_lock(&exp_mtx),  goto error );
     
    123124                       
    124125                        CHECK_POSIX_DO2(  pthread_cond_timedwait( &exp_cnd, &exp_mtx, &first->p_exp_timer ), 
    125                                         ETIMEDOUT, /* ETIMEDOUT is a normal return value, continue */,
     126                                        ETIMEDOUT, /* ETIMEDOUT is a normal error, continue */,
    126127                                        /* on other error, */ goto error );
    127128       
     
    132133                /* Now, the first peer in the list is expired; signal it */
    133134                fd_list_unlink( &first->p_expiry );
    134                 CHECK_FCT_DO( fd_event_send(first->p_events, FDEVP_TERMINATE, 0, NULL), goto error );
     135                CHECK_FCT_DO( fd_event_send(first->p_events, FDEVP_TERMINATE, NULL), goto error );
    135136               
    136137        } while (1);
     
    140141        TRACE_DEBUG(INFO, "An error occurred in peers module! Expiry thread is terminating...");
    141142        ASSERT(0);
    142         CHECK_FCT_DO(fd_event_send(fd_g_config->cnf_main_ev, FDEV_TERMINATE, 0, NULL), );
     143        CHECK_FCT_DO(fd_event_send(fd_g_config->cnf_main_ev, FDEV_TERMINATE, NULL), );
    143144        return NULL;
    144145}
Note: See TracChangeset for help on using the changeset viewer.