{
// Map to dynar<Synchro*>:
xbt_dynar_t comms = xbt_dynar_new(sizeof(simgrid::kernel::activity::ActivityImpl*), [](void*ptr){
- intrusive_ptr_release((simgrid::kernel::activity::ActivityImpl*)ptr);
+ intrusive_ptr_release(*(simgrid::kernel::activity::ActivityImpl**)ptr);
});
for (I iter = first; iter != last; iter++) {
CommPtr comm = *iter;
{
// Map to dynar<Synchro*>:
xbt_dynar_t comms = xbt_dynar_new(sizeof(simgrid::kernel::activity::ActivityImpl*), [](void*ptr){
- intrusive_ptr_release((simgrid::kernel::activity::ActivityImpl*)ptr);
+ intrusive_ptr_release(*(simgrid::kernel::activity::ActivityImpl**)ptr);
});
for (I iter = first; iter != last; iter++) {
CommPtr comm = *iter;
/* create the equivalent dynar with SIMIX objects */
xbt_dynar_t s_comms = xbt_dynar_new(sizeof(smx_activity_t), [](void*ptr){
- intrusive_ptr_release((simgrid::kernel::activity::ActivityImpl*)ptr);
+ intrusive_ptr_release(*(simgrid::kernel::activity::ActivityImpl**)ptr);
});
msg_comm_t comm;
unsigned int cursor;
if(count > 0) {
// Wait for a request to complete
xbt_dynar_init(&comms, sizeof(smx_activity_t), [](void*ptr){
- intrusive_ptr_release((simgrid::kernel::activity::ActivityImpl*)ptr);
+ intrusive_ptr_release(*(simgrid::kernel::activity::ActivityImpl**)ptr);
});
int *map = xbt_new(int, count);
XBT_DEBUG("Wait for one of %d", count);