diff --git a/Ubiquitous/XiZi/kernel/thread/queue_manager.c b/Ubiquitous/XiZi/kernel/thread/queue_manager.c index 5a46db1d5..d3cfa5968 100644 --- a/Ubiquitous/XiZi/kernel/thread/queue_manager.c +++ b/Ubiquitous/XiZi/kernel/thread/queue_manager.c @@ -30,6 +30,7 @@ void* g_queue_done[QUEUE_MAX]; void QueuemanagerDoneRegister() { +#ifdef KERNEL_DATAQUEUE DataQueueDoneType* pdata_queue_done = (DataQueueDoneType*)x_malloc(sizeof(DataQueueDoneType)); pdata_queue_done->InitDataqueue = InitDataqueue; pdata_queue_done->PushDataqueue = PushDataqueue; @@ -37,20 +38,27 @@ void QueuemanagerDoneRegister() pdata_queue_done->DataqueuePeak = DataqueuePeak; pdata_queue_done->DeInitDataqueue = DeInitDataqueue; + g_queue_done[DATA_QUEUE] = pdata_queue_done; +#endif + +#ifdef KERNEL_WORKQUEUE WorkQueueDoneType* pwork_queue_done = (WorkQueueDoneType*)x_malloc(sizeof(WorkQueueDoneType)); pwork_queue_done->CreateWorkQueue = CreateWorkQueue; pwork_queue_done->WorkInit = WorkInit; pwork_queue_done->WorkSubmit = WorkSubmit; pwork_queue_done->WorkSubmit_immediate = WorkSubmit_immediate; + + g_queue_done[WORK_QUEUE] = pwork_queue_done; +#endif +#ifdef KERNEL_WAITQUEUE WaitQueueDoneType* pwait_queue_done = (WaitQueueDoneType*)x_malloc(sizeof(WaitQueueDoneType)); pwait_queue_done->InitWqueue = InitWqueue; pwait_queue_done->WqueueAdd = WqueueAdd; pwait_queue_done->WqueueRemove = WqueueRemove; pwait_queue_done->WqueueWait = WqueueWait; pwait_queue_done->WakeupWqueue = WakeupWqueue; - - g_queue_done[DATA_QUEUE] = pdata_queue_done; - g_queue_done[WORK_QUEUE] = pwork_queue_done; + g_queue_done[WAIT_QUEUE] = pwait_queue_done; +#endif } \ No newline at end of file