---
title: kupl_queue_wait
description: "同步一个 kupl 队列，等待队列上的 item / kernel 全部执行结束。"
url: https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/hpckit/devg/KunpengHPCKit_developer_053.html
sourcePath: /source/zh/kunpenghpcs/hpckit/devg/KunpengHPCKit_developer_053.html
indexId: 3bf6044c0ddb5531c6e6877f044ea12c5316dc226ce2ec43a09d6510bfda9c5067
---
# kupl_queue_wait

同步一个 kupl 队列，等待队列上的 item / kernel 全部执行结束。

#### 接口定义

int kupl_queue_wait(kupl_queue_h queue);


#### 参数


**表1 参数定义**

| 参数名 | 类型 | 描述 | 输入/输出 |
| --- | --- | --- | --- |
| queue | kupl\_queue\_h | 需要同步的 queue | 输入 |


#### 返回值

成功：返回 KUPL_OK

失败：返回 KUPL_ERROR


#### 示例

```
#include <stdio.h> 
#include <assert.h>
#include "kupl.h" 

static inline void kernel_func(void *args)
{
    printf("kernel exec.\n");
}

int main() 
{ 
    kupl_queue_h queue = kupl_queue_create();
    kupl_queue_item_desc_t desc = {
        .field_mask = KUPL_QUEUE_ITEM_DESC_FIELD_NAME,
        .func = kernel_func,
        .args = NULL,
        .name = "kernel_name"
    };
    kupl_queue_submit(queue, &desc); 
    int ret = kupl_queue_wait(queue);
    assert(ret == KUPL_OK);
    kupl_queue_destroy(queue);
    return 0;         
}
```

运行结果如下。

```
kernel exec.
```

上述示例演示了向 queue 提交 item，并等待直到 queue 上全部 item 执行完成的流程。上述kupl_queue_wait 函数等待 queue 中所有 item 都执行完成，才继续往下执行。
