- smx_action_t action;
- action = xbt_new0(s_smx_action_t, 1);
- action->type = SIMIX_ACTION_SYNCHRO;
- action->request_list = xbt_fifo_new();
- action->name = xbt_strdup("synchro");
- action->synchro.sleep =
- surf_workstation_model->extension.workstation.sleep(smx_host->host, timeout);
-
- surf_workstation_model->action_data_set(action->synchro.sleep, action);
- return action;
+ XBT_IN("(%p, %f)",smx_host,timeout);
+
+ smx_synchro_t sync;
+ sync = xbt_mallocator_get(simix_global->synchro_mallocator);
+ sync->type = SIMIX_SYNC_SYNCHRO;
+ sync->name = xbt_strdup("synchro");
+ sync->synchro.sleep = surf_host_sleep(smx_host, timeout);
+
+ surf_action_set_data(sync->synchro.sleep, sync);
+ XBT_OUT();
+ return sync;