---
title: kupl_egroup_return
description: "src egroup向dest egroup归还executors。"
url: https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/hpckit/devg/KunpengHPCKit_developer_027.html
sourcePath: /source/zh/kunpenghpcs/hpckit/devg/KunpengHPCKit_developer_027.html
indexId: 635ff4f8385ba28b733fe70a8194a436a9c7943b1552e40c8437be0b5f6aed5e67
---
# kupl_egroup_return

src egroup向dest egroup归还executors。

#### 接口定义

int kupl_egroup_return(kupl_egroup_h dest, kupl_egroup_h src);


#### 参数

| 参数名 | 类型 | 描述 | 输入/输出 |
| --- | --- | --- | --- |
| dest | kupl\_egroup\_h | 被归还executor的egroup | 输入/输出 |
| src | kupl\_egroup\_h | 需要归还executor的egroup | 输入/输出 |


#### 返回值

- 成功：返回被归还executor后的dest egroup大小
- 失败：返回KUPL_ERROR


#### 示例

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

int main() 
{ 
    int executor_num = kupl_get_num_executors(); 
    int n1 = executor_num / 2; 
    int n2 = executor_num - executor_num / 2;
    int executors1[n1], executors2[n2]; 
    for (int i =0; i < n1; i++) {
        executors1[i] = i;
    } 
    for (int i =0; i < n2; i++) {
        executors2[i] = i + n1;
    } 
    kupl_egroup_h egroup1 = kupl_egroup_create(executors1, n1); 
    kupl_egroup_h egroup2 = kupl_egroup_create(executors2, n2); 
    printf("egroup2 : %d executors\n", n2); 
    n1 = kupl_egroup_borrow(egroup1, egroup2); 
    n2 = kupl_egroup_return(egroup2, egroup1); 
    printf("egroup2 : %d executors\n", n2); 
    kupl_egroup_destroy(egroup1); 
    kupl_egroup_destroy(egroup2); 
    return 0; 
}
```

运行结果如下。

```
egroup2 : 2 executors
egroup2 : 4 executors
```

上述示例演示了创建的egroup1取用egroup2中executor后，重新向egroup2归还所有executor的流程，运行结果打印了最开始与取用、归还后egroup2中的executor数量，最终kupl_egroup_return函数将egroup1中所有executor都归还给了egroup2。
