Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix SIMIX_post_io. For now SIMIX_req_file_read makes a Surf sleep action.
[simgrid.git] / src / simix / smx_smurf.c
index f193032..6f243b5 100644 (file)
@@ -39,6 +39,7 @@ void SIMIX_request_answer(smx_req_t req)
 
 void SIMIX_request_pre(smx_req_t req, int value)
 {
+  XBT_DEBUG("Handling request %p: %s", req, SIMIX_request_name(req->call));
 
   switch (req->call) {
     case REQ_COMM_TEST:
@@ -70,6 +71,7 @@ void SIMIX_request_pre(smx_req_t req, int value)
           req->comm_send.src_buff,
           req->comm_send.src_buff_size,
           req->comm_send.match_fun,
+          NULL, /* no clean function since it's not detached */
           req->comm_send.data,
           0);
       SIMIX_pre_comm_wait(req, comm, req->comm_send.timeout, 0);
@@ -85,6 +87,7 @@ void SIMIX_request_pre(smx_req_t req, int value)
           req->comm_isend.src_buff,
           req->comm_isend.src_buff_size,
           req->comm_isend.match_fun,
+          req->comm_isend.clean_fun,
           req->comm_isend.data,
           req->comm_isend.detached);
       SIMIX_request_answer(req);
@@ -478,6 +481,10 @@ void SIMIX_request_pre(smx_req_t req, int value)
       SIMIX_request_answer(req);
       break;
 
+    case REQ_FILE_READ:
+      SIMIX_pre_file_read(req);
+      break;
+
     case REQ_NO_REQ:
       THROWF(arg_error,0,"Asked to do the noop syscall on %s@%s",
           SIMIX_process_get_name(req->issuer),
@@ -510,6 +517,7 @@ void SIMIX_request_post(smx_action_t action)
       break;
 
     case SIMIX_ACTION_IO:
+      SIMIX_post_io(action);
       break;
   }
 }