⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gpr_base_simplified_put.c

📁 MPI stands for the Message Passing Interface. Written by the MPI Forum (a large committee comprising
💻 C
字号:
/* -*- C -*- * * Copyright (c) 2004-2005 The Trustees of Indiana University. *                         All rights reserved. * Copyright (c) 2004-2005 The Trustees of the University of Tennessee. *                         All rights reserved. * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, *                         University of Stuttgart.  All rights reserved. * Copyright (c) 2004-2005 The Regents of the University of California. *                         All rights reserved. * $COPYRIGHT$ * * Additional copyrights may follow * * $HEADER$ *//** @file * */#include "orte_config.h"#include "orte/orte_constants.h"#include "opal/util/output.h"#include "opal/util/trace.h"#include "orte/dss/dss.h"#include "orte/mca/errmgr/errmgr.h"#include "orte/mca/gpr/base/base.h"int orte_gpr_base_put_1(orte_gpr_addr_mode_t addr_mode,                               char *segment, char **tokens,                               char *key, orte_data_value_t *data_value){    orte_gpr_value_t *values;    orte_gpr_value_t value = ORTE_GPR_VALUE_EMPTY;    orte_gpr_keyval_t *keyval;    orte_std_cntr_t i;    int rc;    OPAL_TRACE(1);    value.addr_mode = addr_mode;    value.segment = segment;    value.cnt = 1;    value.keyvals = &keyval;    if (ORTE_SUCCESS != (rc = orte_gpr_base_create_keyval(&keyval, key,                                                          data_value->type, data_value->data))) {        ORTE_ERROR_LOG(rc);        return rc;    }    value.tokens = tokens;    /* must count the number of tokens */    value.num_tokens = 0;    if (NULL != tokens) {        for (i=0; NULL != tokens[i]; i++) {            (value.num_tokens)++;        }    }    values = &value;    /* put the value on the registry */    if (ORTE_SUCCESS != (rc = orte_gpr.put(1, &values))) {        ORTE_ERROR_LOG(rc);        OBJ_RELEASE(keyval);        return rc;    }    /* cleanup */    OBJ_RELEASE(keyval);        return ORTE_SUCCESS;}int orte_gpr_base_put_N(orte_gpr_addr_mode_t addr_mode,                               char *segment, char **tokens,                               orte_std_cntr_t n, char **keys,                               orte_data_value_t **data_values){    orte_gpr_value_t *value;    orte_std_cntr_t i, num_tokens;    int rc;    OPAL_TRACE(1);    /* must count the number of tokens */    num_tokens = 0;    if (NULL != tokens) {        for (i=0; NULL != tokens[i]; i++) {            num_tokens++;        }    }    if (ORTE_SUCCESS != (rc = orte_gpr_base_create_value(&value, addr_mode, segment, n, num_tokens))) {        ORTE_ERROR_LOG(rc);        return rc;    }        for (i=0; i < n; i++) {        if (ORTE_SUCCESS != (rc = orte_gpr_base_create_keyval(&(value->keyvals[i]), keys[i], data_values[i]->type, data_values[i]->data))) {            ORTE_ERROR_LOG(rc);            OBJ_RELEASE(value);            return rc;        }    }    for (i=0; i < value->num_tokens; i++) {        value->tokens[i] = strdup(tokens[i]);    }    /* put the value on the registry */    if (ORTE_SUCCESS != (rc = orte_gpr.put(1, &value))) {        ORTE_ERROR_LOG(rc);    }    /* clean up memory */    OBJ_RELEASE(value);    return rc;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -