- Per mail and diff from Ken Matney:
Allow multiple retries to open file as well, for ALPS to supply the file. This commit was SVN r20932.
Этот коммит содержится в:
родитель
4e001fb10a
Коммит
9b7ab92de9
@ -227,10 +227,16 @@ int orte_ras_alps_read_appinfo_file(opal_list_t *nodes, char *filename, unsigned
|
|||||||
oNow=0;
|
oNow=0;
|
||||||
iTrips=0;
|
iTrips=0;
|
||||||
while(!oNow) { /* Until appinfo read is complete */
|
while(!oNow) { /* Until appinfo read is complete */
|
||||||
|
iTrips++; /* Increment trip count */
|
||||||
|
|
||||||
iFd=open( filename, O_RDONLY );
|
iFd=open( filename, O_RDONLY );
|
||||||
if( iFd==-1 ) { /* If file absent, ALPS is down */
|
if( iFd==-1 ) { /* If file absent, ALPS is down */
|
||||||
|
opal_output_verbose(1, orte_ras_base.ras_output,
|
||||||
|
"ras:alps:allocate: ALPS information open failure");
|
||||||
|
usleep(iTrips*50000); /* Increasing delays, .05 s/try */
|
||||||
|
|
||||||
|
/* Fail only when number of attempts have been exhausted. */
|
||||||
|
if( iTrips <= max_appinfo_read_attempts ) continue;
|
||||||
ORTE_ERROR_LOG(ORTE_ERR_FILE_OPEN_FAILURE);
|
ORTE_ERROR_LOG(ORTE_ERR_FILE_OPEN_FAILURE);
|
||||||
return ORTE_ERR_FILE_OPEN_FAILURE;
|
return ORTE_ERR_FILE_OPEN_FAILURE;
|
||||||
}
|
}
|
||||||
@ -242,7 +248,6 @@ int orte_ras_alps_read_appinfo_file(opal_list_t *nodes, char *filename, unsigned
|
|||||||
|
|
||||||
szLen=ssBuf.st_size; /* Get buffer size */
|
szLen=ssBuf.st_size; /* Get buffer size */
|
||||||
cpBuf=malloc(szLen+1); /* Allocate buffer */
|
cpBuf=malloc(szLen+1); /* Allocate buffer */
|
||||||
iTrips++; /* Increment trip count */
|
|
||||||
|
|
||||||
/* Repeated attempts to read appinfo, with an increasing delay between *
|
/* Repeated attempts to read appinfo, with an increasing delay between *
|
||||||
* successive attempts to allow scheduler I/O a chance to complete. */
|
* successive attempts to allow scheduler I/O a chance to complete. */
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user