1
1

- 3/4 commit for Windows Visual Studio and CCP support:

corrections to non-windows files (but within ifdef __WINDOWS__)
  type casts, event library for windows use win32. 
  in orte runtime, add windows sockets handling and object construction.

This commit was SVN r20110.
Этот коммит содержится в:
Shiqing Fan 2008-12-10 21:13:10 +00:00
родитель 8673f19f50
Коммит 20cea164db
6 изменённых файлов: 20 добавлений и 4 удалений

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

@ -99,7 +99,7 @@ static inline int memchecker_call (int (*f)(void *, size_t), void * addr,
uint32_t stack_disp = 0, elem_pos = 0, i; uint32_t stack_disp = 0, elem_pos = 0, i;
dt_elem_desc_t* description = datatype->opt_desc.desc; dt_elem_desc_t* description = datatype->opt_desc.desc;
dt_elem_desc_t* pElem = &(description[elem_pos]); dt_elem_desc_t* pElem = &(description[elem_pos]);
unsigned char *source_base = addr; unsigned char *source_base = (unsigned char *) addr;
if ( NULL != datatype ) if ( NULL != datatype )
stack_disp = datatype->ub - datatype->lb; stack_disp = datatype->ub - datatype->lb;

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

@ -685,7 +685,9 @@ int ompi_mpi_init(int argc, char **argv, int requested, int *provided)
} }
/* Do we need to wait for a debugger? */ /* Do we need to wait for a debugger? */
#ifndef __WINDOWS__
ompi_wait_for_debugger(); ompi_wait_for_debugger();
#endif
/* check for timing request - get stop time and report elapsed /* check for timing request - get stop time and report elapsed
time if so, then start the clock again */ time if so, then start the clock again */

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

@ -309,8 +309,12 @@ opal_event_init(void)
help_msg, false, false, help_msg, false, false,
#ifdef __APPLE__ #ifdef __APPLE__
"select", "select",
#else
# ifdef __WINDOWS__
"win32",
# else # else
"poll", "poll",
# endif
#endif #endif
&event_module_include); &event_module_include);
free(help_msg); /* release the help message */ free(help_msg); /* release the help message */

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

@ -1118,6 +1118,9 @@ int orte_wait_event(opal_event_t **event, orte_trigger_event_t *trig,
/* create the event */ /* create the event */
*event = (opal_event_t*)malloc(sizeof(opal_event_t)); *event = (opal_event_t*)malloc(sizeof(opal_event_t));
/* setup the trigger and its associated lock */
OBJ_CONSTRUCT(trig, orte_trigger_event_t);
/* pass back the write end of the pipe */ /* pass back the write end of the pipe */
trig->channel = p[1]; trig->channel = p[1];

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

@ -782,8 +782,15 @@ static void job_completed(int trigpipe, short event, void *arg)
orte_max_timeout, timeout_callback); orte_max_timeout, timeout_callback);
} }
#ifndef __WINDOWS__
/* now wait to hear it has been done */ /* now wait to hear it has been done */
opal_event_dispatch(); opal_event_dispatch();
#else
/* We are using WT_EXECUTEINWAITTHREAD mode of threading pool,
the other callbacks won't be triggerred until this thread finishes,
so just return to main thread and process the rest events there. */
return;
#endif
/* if we cannot order the daemons to terminate, then /* if we cannot order the daemons to terminate, then
* all we can do is cleanly exit ourselves * all we can do is cleanly exit ourselves

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

@ -257,7 +257,7 @@ int orte_list_local_hnps(opal_list_t *hnps, bool connect)
* See if a contact file exists in this directory and read it * See if a contact file exists in this directory and read it
*/ */
contact_filename = opal_os_path( false, headdir, contact_filename = opal_os_path( false, headdir,
dir_entry->d_name, "contact.txt", NULL ); file_data, "contact.txt", NULL );
hnp = OBJ_NEW(orte_hnp_contact_t); hnp = OBJ_NEW(orte_hnp_contact_t);
if (ORTE_SUCCESS == (ret = orte_read_hnp_contact_file(contact_filename, hnp, connect))) { if (ORTE_SUCCESS == (ret = orte_read_hnp_contact_file(contact_filename, hnp, connect))) {