Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Rename flag cfg=contexts/parallel to cfg=contexts/nthreads
[simgrid.git] / src / simix / smx_user.c
index 5effb48..3096246 100644 (file)
@@ -571,13 +571,14 @@ smx_rdv_t SIMIX_req_rdv_get_by_name(const char *name)
   /* FIXME: this is a horrible lost of performance, so we hack it out by
    * skipping the request (for now). It won't work on distributed but
    * probably we will change MSG for that. */
-  return SIMIX_rdv_get_by_name(name);
 /*
   smx_req_t req = SIMIX_req_mine();
   req->call = REQ_RDV_GEY_BY_NAME;
   req->rdv_get_by_name.name = name;
   SIMIX_request_push();
   return req->rdv_get_by_name.result;*/
+
+  return SIMIX_rdv_get_by_name(name);
 }
 
 /**
@@ -617,7 +618,8 @@ smx_action_t SIMIX_req_rdv_get_head(smx_rdv_t rdv)
 
 smx_action_t SIMIX_req_comm_isend(smx_rdv_t rdv, double task_size, double rate,
                               void *src_buff, size_t src_buff_size,
-                              int (*match_fun)(void *, void *), void *data)
+                              int (*match_fun)(void *, void *), void *data,
+                              int detached)
 {
   smx_req_t req = SIMIX_req_mine();
 
@@ -631,6 +633,7 @@ smx_action_t SIMIX_req_comm_isend(smx_rdv_t rdv, double task_size, double rate,
   req->comm_isend.src_buff_size = src_buff_size;
   req->comm_isend.match_fun = match_fun;
   req->comm_isend.data = data;
+  req->comm_isend.detached = detached;
 
   SIMIX_request_push();
   return req->comm_isend.result;
@@ -656,6 +659,9 @@ smx_action_t SIMIX_req_comm_irecv(smx_rdv_t rdv, void *dst_buff, size_t * dst_bu
 
 void SIMIX_req_comm_destroy(smx_action_t comm)
 {
+  xbt_assert0(comm, "Invalid parameter");
+
+  /* FIXME remove this request type (auto-destroy finished comms) */
   smx_req_t req = SIMIX_req_mine();
 
   req->call = REQ_COMM_DESTROY;