blob: 60612080acb344f92888f40d03b648af6b6df5d9 [file] [log] [blame]
#include <stdio.h>
#include <pthread.h>
#include <stdint.h>
#include <semaphore.h>
#include <sys/time.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#include "thpool.h"
#include "timeManager/timeManagement.h"
#if 0
int main_test(int argc,char **argv)
{
timerArgv *timeMan=(timerArgv*)malloc(sizeof(timerArgv));
initTimeManagement(10,timeMan);
cond_used_state *node=NULL;
for (int i=0;i<5;i++)
{
request_cond *requestCond=(request_cond*)malloc(sizeof(request_cond));
printf("[Warren test] add task %d\n",i);
node = findUnusedCond(timeMan->cond_array,CONDARRAYMAX);
requestCond->cond_index=node->index;
requestCond->requestID=i;
printf("[Warren test] cond_index=%d,requestID=%d task %d\n",requestCond->cond_index,requestCond->requestID,i);
thpool_add_work(timeMan->pool,startWaitResp,(void*)requestCond);
//millli_sleep_with_restart(1);
node->use_state = 1;
}
printf("[Warren test] wait 5s....\n");
sleep(5);
printf("正在发送信号....\n");
pthread_mutex_lock(&timeMan->cond_array[0].mutex);
pthread_cond_signal(&timeMan->cond_array[0].cond);
pthread_mutex_unlock(&timeMan->cond_array[0].mutex);
printf("end cond_0....\n");
sleep(3);
printf("正在发送信号_2....\n");
pthread_mutex_lock(&timeMan->cond_array[2].mutex);
pthread_cond_signal(&timeMan->cond_array[2].cond);
pthread_mutex_unlock(&timeMan->cond_array[2].mutex);
printf("end cond_2\n");
printf("正在发送信号_1....\n");
sleep(3);
pthread_mutex_lock(&timeMan->cond_array[1].mutex);
pthread_cond_signal(&timeMan->cond_array[1].cond);
pthread_mutex_unlock(&timeMan->cond_array[1].mutex);
printf("end cond_1\n");
thpool_wait(timeMan->pool);
puts("Killing threadpool");
thpool_destroy(timeMan->pool);
free(timeMan);
return 0;
}
#endif