+ mailbox = smpi_process_remote_mailbox(receiver);
+ XBT_DEBUG("Is there a corresponding recv already posted in the large mailbox %p?", mailbox);
+ smx_synchro_t action = SIMIX_comm_iprobe(SIMIX_process_self(), mailbox, 1,request->dst, request->tag, &match_send, (void*)request);
+ if(action ==NULL){
+ if (! (request->flags & SSEND)){
+ mailbox = smpi_process_remote_mailbox_small(receiver);
+ XBT_DEBUG("No, nothing in the large mailbox, message is to be sent on the small one %p", mailbox);
+ } else{
+ mailbox = smpi_process_remote_mailbox_small(receiver);
+ XBT_DEBUG("SSEND : Is there a corresponding recv already posted in the small mailbox %p?", mailbox);
+ action = SIMIX_comm_iprobe(SIMIX_process_self(), mailbox, 1,request->dst, request->tag, &match_send, (void*)request);
+ if(action ==NULL){
+ XBT_DEBUG("No, we are first, send to large mailbox");
+ mailbox = smpi_process_remote_mailbox(receiver);
+ }
+ }
+ }else{
+ XBT_DEBUG("Yes there was something for us in the large mailbox");
+ }