}
exe_info = to_action_executed_event(ev);
- dm_ev = to_decision_made_event(exe_info->reason);
-
/*
* If action is not fully executed after returning from this function
* it takes the ownership of of exe_info and should report it when
goto cleanup;
}
- if (dm_ev->on_finished)
+ dm_ev = to_decision_made_event(exe_info->reason);
+
+ if (dm_ev && dm_ev->on_finished)
dm_ev->on_finished(dm_ev, exe_info->result);
}
// form in module that generates the event, so might try to pass it here
// as epc_object (look for ->params in decision_makers/activation_dm)
//FIXME: signal_params = NULL;
+ exe_info->reason = ev;
epc_object_get_string(dm_ev->action_data, EPC_AD_SIGNAL_ACTION, &signal_action);
epc_object_get_string(dm_ev->action_data, EPC_AD_SIGNAL_DEST, &signal_dest);
dbus_handle_broadcast_dbus_signal(signal_dest, signal_path, signal_interface, signal_member, NULL);
-
- //FIXME: shortly after this function exits actd gets segfault. I assume something
- // more needs to be done in terms of cleanup here. Unfortunatelly, I have
- // no idea what.
exe_info->result = 0;
return 0;