1
1
This commit was SVN r6546.
Этот коммит содержится в:
Tim Woodall 2005-07-18 21:22:55 +00:00
родитель 485e549f38
Коммит 14ba3322e9
2 изменённых файлов: 27 добавлений и 12 удалений

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

@ -138,6 +138,9 @@ static void mca_pml_ob1_rndv_completion(
/* advance the request */
MCA_PML_OB1_SEND_REQUEST_ADVANCE(sendreq);
/* check for pending requests */
MCA_PML_OB1_SEND_REQUEST_PROCESS_PENDING();
}
@ -189,15 +192,8 @@ static void mca_pml_ob1_frag_completion(
mca_pml_ob1_send_request_schedule(sendreq);
}
/* advance pending requests */
while(opal_list_get_size(&mca_pml_ob1.send_pending)) {
OPAL_THREAD_LOCK(&mca_pml_ob1.ob1_lock);
sendreq = (mca_pml_ob1_send_request_t*)opal_list_remove_first(&mca_pml_ob1.send_pending);
OPAL_THREAD_UNLOCK(&mca_pml_ob1.ob1_lock);
if(NULL == sendreq)
break;
mca_pml_ob1_send_request_schedule(sendreq);
}
/* check for pending requests */
MCA_PML_OB1_SEND_REQUEST_PROCESS_PENDING();
}

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

@ -296,9 +296,28 @@ do {
} \
} while(0)
/*
* Attempt to process any pending requests
*/
#define MCA_PML_OB1_SEND_REQUEST_PROCESS_PENDING() \
do { \
/* advance pending requests */ \
while(opal_list_get_size(&mca_pml_ob1.send_pending)) { \
mca_pml_ob1_send_request_t* sendreq; \
OPAL_THREAD_LOCK(&mca_pml_ob1.ob1_lock); \
sendreq = (mca_pml_ob1_send_request_t*) \
opal_list_remove_first(&mca_pml_ob1.send_pending); \
OPAL_THREAD_UNLOCK(&mca_pml_ob1.ob1_lock); \
if(NULL == sendreq) \
break; \
mca_pml_ob1_send_request_schedule(sendreq); \
} \
} while (0)
/**
*
* Start the specified request
*/
int mca_pml_ob1_send_request_start(
@ -306,13 +325,13 @@ int mca_pml_ob1_send_request_start(
mca_pml_ob1_endpoint_t* endpoint);
/**
*
* Schedule additional fragments
*/
int mca_pml_ob1_send_request_schedule(
mca_pml_ob1_send_request_t* sendreq);
/**
*
* Initiate a put scheduled by the receiver.
*/
void mca_pml_ob1_send_request_put(