+ xbt_fifo_push(src_proc->comms, other_action);
+
+ /* if the communication action is detached then decrease the refcount
+ * by one, so it will be eliminated by the receiver's destroy call */
+ if (detached) {
+ other_action->comm.detached = 1;
+ other_action->comm.refcount--;
+ other_action->comm.clean_fun = clean_fun;
+ } else {
+ other_action->comm.clean_fun = NULL;
+ }
+
+ /* Setup the communication action */
+ other_action->comm.src_proc = src_proc;
+ other_action->comm.task_size = task_size;
+ other_action->comm.rate = rate;
+ other_action->comm.src_buff = src_buff;
+ other_action->comm.src_buff_size = src_buff_size;
+ other_action->comm.src_data = data;