func: void *stonesoup_calc_data (void *data) struct stonesoup_queue * ssQ ; ssQ = get_instance ( NULL ); enqueue ( ssQ , - 1 ); int enqueue(struct stonesoup_queue *ssQ, int data) if ( ssQ != NULL )  struct stonesoup_list * elem = malloc ( sizeof ( struct stonesoup_list ) ) ; elem -> next = NULL; elem -> previous = ssQ -> tail; elem -> data = data; if ( ssQ -> tail != NULL )  ssQ -> tail -> next = elem; ssQ -> tail = elem; ssQ -> size ++; if ( ssQ -> head == NULL )  ssQ -> head = elem; pthread_mutex_unlock ( & ( ssQ -> lock ) ); 