action_fp=NULL;
if (path) {
action_fp = fopen(path, "r");
- xbt_assert(action_fp != NULL, "Cannot open %s: %s", path,
- strerror(errno));
+ if (action_fp == NULL)
+ xbt_die("Cannot open %s: %s", path, strerror(errno));
}
if (!xbt_dict_is_empty(action_queues)) {
smpi_datatype_use(request->old_type);
smpi_comm_use(request->comm);
request->action = simcall_comm_irecv(mailbox, request->buf,
- &request->real_size, &match_recv,
+ &request->real_size, &match_recv, &smpi_comm_copy_buffer_callback,
request, -1.0);
//integrate pseudo-timing for buffering of small messages, do not bother to execute the simcall if 0
oldbuf = request->buf;
if (!_xbt_replay_is_active() && oldbuf && request->size!=0){
if((smpi_privatize_global_variables)
- && ((char*)request->buf >= start_data_exe)
- && ((char*)request->buf < start_data_exe + size_data_exe )
- ){
- XBT_WARN("Privatization : We are sending from a zone inside global memory. Switch data segment ");
- switch_data_segment(smpi_process_index());
- }
-
-
+ && ((char*)request->buf >= start_data_exe)
+ && ((char*)request->buf < start_data_exe + size_data_exe )){
+ XBT_DEBUG("Privatization : We are sending from a zone inside global memory. Switch data segment ");
+ switch_data_segment(smpi_process_index());
+ }
buf = xbt_malloc(request->size);
memcpy(buf,oldbuf,request->size);
}
simcall_comm_isend(mailbox, request->size, -1.0,
buf, request->real_size,
&match_send,
- &xbt_free, // how to free the userdata if a detached send fails
+ &xbt_free_f, // how to free the userdata if a detached send fails
+ &smpi_comm_copy_buffer_callback,
request,
// detach if msg size < eager/rdv switch limit
request->detached);