+ memcpy(request->buf, message->buf, request->count * request->type->size);
+ request->src = message->src;
+ reqeust->completed = 1;
+
+ while (dproc = xbt_fifo_shift(request->waitlist)) {
+ if (SIMIX_process_is_suspended(dproc)) {
+ SIMIX_process_resume(dproc);
+ }
+ }
+
+ SIMIX_mutex_unlock(request->mutex);
+ xbt_mallocator_release(smpi_request_mallocator, message);