- name = xbt_str_join(action, " ");
-
-#ifdef HAVE_TRACING
- int rank = get_rank(MSG_process_get_name(MSG_process_self()));
- int dst_traced = get_rank(xbt_dynar_get_as(action, 2, char *));
- TRACE_smpi_ptp_in(rank, rank, dst_traced, "send");
- TRACE_smpi_send(rank, rank, dst_traced);
-#endif
-
- DEBUG2("Entering Send: %s (size: %lg)", name, parse_double(size));
- if (parse_double(size)<65536) {
- char spawn_name[80];
- char **myargv;
- m_process_t comm_helper;
- DEBUG1("Isend on %s: spawn process ",
- MSG_process_get_name(MSG_process_self()));
- myargv = (char **) calloc(3, sizeof(char *));
- myargv[0] = xbt_strdup(to);
- myargv[1] = xbt_strdup(size);
- myargv[2] = NULL;
-
- sprintf(spawn_name, "%s_wait", to);
- comm_helper =
- MSG_process_create_with_arguments(spawn_name, spawned_send,
- NULL, MSG_host_self(), 2, myargv);
- }
- else {
- MSG_task_send(MSG_task_create(name, 0, parse_double(size), NULL), to);
- }
-
- VERB2("%s %f", name, MSG_get_clock() - clock);