Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

From: Ralph H Castain (rhc_at_[hidden])
Date: 2006-07-05 15:21:22


Hi Nathan

Could you tell us which version of the code you are using, and print out the
rc value that was returned by the "get" call? I see nothing obviously wrong
with the code, but much depends on what happened prior to this call too.

BTW: you might want to release the memory stored in the returned values - it
could represent a substantial memory leak.

Ralph

On 7/5/06 9:28 AM, "Nathan DeBardeleben" <ndebard_at_[hidden]> wrote:

> I used to use this code to get the number of nodes in a cluster /
> machine / whatever:
>> int
>> get_num_nodes(void)
>> {
>> int rc;
>> size_t cnt;
>> orte_gpr_value_t **values;
>>
>> rc = orte_gpr.get(ORTE_GPR_KEYS_OR|ORTE_GPR_TOKENS_OR,
>> ORTE_NODE_SEGMENT, NULL, NULL, &cnt, &values);
>>
>> if(rc != ORTE_SUCCESS) {
>> return 0;
>> }
>>
>> return cnt;
>> }
> This now returns '0' on my MAC when it used to return 1. Is this not an
> acceptable way of doing this? Is there a cleaner / better way these days?