1
1

For some reason, the buffer gets trashed, so for now, let's process and then relay...until I can figure out the race condition that is causing the problem.

This commit was SVN r20665.
Этот коммит содержится в:
Ralph Castain 2009-03-01 01:24:02 +00:00
родитель fd979b2278
Коммит f0fcaf8b32

Просмотреть файл

@ -297,13 +297,24 @@ void orte_daemon_cmd_processor(int fd, short event, void *data)
}
}
/* rewind the buffer to the right place for processing the cmd */
buffer->unpack_ptr = save;
/* process the command */
if (ORTE_SUCCESS != (ret = process_commands(sender, buffer, tag))) {
OPAL_OUTPUT_VERBOSE((1, orte_debug_output,
"%s orte:daemon:cmd:processor failed on error %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), ORTE_ERROR_NAME(ret)));
}
/* rewind the buffer to the beginning */
buffer->unpack_ptr = unpack_ptr;
/* do the relay */
send_relay(buffer);
/* rewind the buffer to the right place for processing the cmd */
buffer->unpack_ptr = save;
/* done */
goto CLEANUP;
} else {
/* rewind the buffer so we can process it correctly */
buffer->unpack_ptr = unpack_ptr;