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;
dt_elem_desc_t* description = datatype->opt_desc.desc;
dt_elem_desc_t* pElem = &(description[elem_pos]);
unsigned char *source_base = addr;
unsigned char *source_base = (unsigned char *) addr;
if ( NULL != datatype )
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? */
#ifndef __WINDOWS__
ompi_wait_for_debugger();
#endif
/* check for timing request - get stop time and report elapsed
time if so, then start the clock again */

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

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

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

@ -903,7 +903,7 @@ void orte_trigger_event(orte_trigger_event_t *trig)
return;
}
send(trig->channel, (const char *) &data, sizeof(int), 0);
send(trig->channel, (const char*)&data, sizeof(int), 0);
closesocket(trig->channel);
opal_progress();
}
@ -1118,6 +1118,9 @@ int orte_wait_event(opal_event_t **event, orte_trigger_event_t *trig,
/* create the event */
*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 */
trig->channel = p[1];

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

@ -782,8 +782,15 @@ static void job_completed(int trigpipe, short event, void *arg)
orte_max_timeout, timeout_callback);
}
#ifndef __WINDOWS__
/* now wait to hear it has been done */
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
* 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
*/
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);
if (ORTE_SUCCESS == (ret = orte_read_hnp_contact_file(contact_filename, hnp, connect))) {