| 1393 | } |
| 1394 | |
| 1395 | cs_error_t cpg_iteration_finalize ( |
| 1396 | cpg_iteration_handle_t handle) |
| 1397 | { |
| 1398 | cs_error_t error; |
| 1399 | struct iovec iov; |
| 1400 | struct cpg_iteration_instance_t *cpg_iteration_instance; |
| 1401 | struct req_lib_cpg_iterationfinalize req_lib_cpg_iterationfinalize; |
| 1402 | struct res_lib_cpg_iterationfinalize res_lib_cpg_iterationfinalize; |
| 1403 | |
| 1404 | error = hdb_error_to_cs (hdb_handle_get (&cpg_iteration_handle_t_db, handle, |
| 1405 | (void *)&cpg_iteration_instance)); |
| 1406 | if (error != CS_OK) { |
| 1407 | goto error_exit; |
| 1408 | } |
| 1409 | |
| 1410 | req_lib_cpg_iterationfinalize.header.size = sizeof (struct req_lib_cpg_iterationfinalize); |
| 1411 | req_lib_cpg_iterationfinalize.header.id = MESSAGE_REQ_CPG_ITERATIONFINALIZE; |
| 1412 | req_lib_cpg_iterationfinalize.iteration_handle = cpg_iteration_instance->executive_iteration_handle; |
| 1413 | |
| 1414 | iov.iov_base = (void *)&req_lib_cpg_iterationfinalize; |
| 1415 | iov.iov_len = sizeof (struct req_lib_cpg_iterationfinalize); |
| 1416 | |
| 1417 | error = coroipcc_msg_send_reply_receive (cpg_iteration_instance->conn, |
| 1418 | &iov, |
| 1419 | 1, |
| 1420 | &res_lib_cpg_iterationfinalize, |
| 1421 | sizeof (struct req_lib_cpg_iterationfinalize)); |
| 1422 | |
| 1423 | if (error != CS_OK) { |
| 1424 | goto error_put; |
| 1425 | } |
| 1426 | |
| 1427 | cpg_iteration_instance_finalize (cpg_iteration_instance); |
| 1428 | hdb_handle_put (&cpg_iteration_handle_t_db, cpg_iteration_instance->cpg_iteration_handle); |
| 1429 | |
| 1430 | return (res_lib_cpg_iterationfinalize.header.error); |
| 1431 | |
| 1432 | error_put: |
| 1433 | hdb_handle_put (&cpg_iteration_handle_t_db, handle); |
| 1434 | error_exit: |
| 1435 | return (error); |
| 1436 | } |
| 1437 | |
| 1438 | /** @} */ |
no test coverage detected