int orte_sstore_central_app_sync(orte_sstore_base_handle_t handle) { int ret, exit_status = ORTE_SUCCESS; orte_sstore_central_app_snapshot_info_t *handle_info = NULL; OPAL_OUTPUT_VERBOSE((10, mca_sstore_central_component.super.output_handle, "sstore:central:(app): sync()")); /* * Lookup the handle */ handle_info = find_handle_info(handle); /* * Finalize and close the metadata */ if( ORTE_SUCCESS != (ret = metadata_write_timestamp(handle_info)) ) { ORTE_ERROR_LOG(ret); exit_status = ret; goto cleanup; } if( ORTE_SUCCESS != (ret = metadata_close(handle_info)) ) { ORTE_ERROR_LOG(ret); exit_status = ret; goto cleanup; } /* * Push information to the Local coordinator */ if( ORTE_SUCCESS != (ret = push_handle_info(handle_info)) ) { ORTE_ERROR_LOG(ret); exit_status = ret; goto cleanup; } cleanup: orte_sstore_handle_current = ORTE_SSTORE_HANDLE_INVALID; return exit_status; }
int orte_sstore_central_local_sync(orte_sstore_base_handle_t handle) { int ret, exit_status = ORTE_SUCCESS; orte_sstore_central_local_snapshot_info_t *handle_info = NULL; OPAL_OUTPUT_VERBOSE((10, mca_sstore_central_component.super.output_handle, "sstore:central:(local): sync()")); /* * Lookup the handle */ handle_info = find_handle_info(handle); /* * Wait for all of the applications to update their metadata */ if( ORTE_SUCCESS != (ret = wait_all_apps_updated(handle_info))) { ORTE_ERROR_LOG(ret); exit_status = ret; goto cleanup; } /* * Push information to the Global coordinator */ if( ORTE_SUCCESS != (ret = push_handle_info(handle_info)) ) { ORTE_ERROR_LOG(ret); exit_status = ret; goto cleanup; } handle_info->status = SSTORE_LOCAL_SYNCED; cleanup: return exit_status; }