Skip to content

Conversation

@Dale-Koenig
Copy link
Contributor

@Dale-Koenig Dale-Koenig commented Oct 20, 2023

Reorganizing and reattempting #502, with upcoming placeholders feature in mind.

Base package alica_turtlesim with all base plans. Ros turtlesim package adds a couple new libraries and plugs them in. Both are loaded and combined to get the full plan.

@Dale-Koenig Dale-Koenig added the Refactored Refactoring or code organization label Oct 20, 2023
@Dale-Koenig Dale-Koenig marked this pull request as ready for review October 20, 2023 09:43
@bjoernschroeder
Copy link
Collaborator

Is it in a runnable state? When I try to run tests it says it cannot find the master plan

Dale-Koenig and others added 3 commits October 23, 2023 10:44
The dynamic creators maintain a reference to the currently loaded
symbol, therefore dlls that were loaded prior would no longer be loaded
& accessing such dlls (typically in the destructor of the beh/plan etc)
would cause undefined behaviour. Specifically this lead to a crash in
the destructor of the GoTo behaviour in turtlesim. Such crashes are
hard to debug & can occur in more ways due to this issue.
As a fix, the creator for each symbol is stored for the lifetime of
the dynamic creator object itself which is basically the entire
duration of the engine. Consequently the symbol & dll is loaded
just once potentially improving performance.
@Dale-Koenig
Copy link
Contributor Author

@bjoernschroeder @veerajsk seems everything works now

#include "turtle_interfaces.hpp"
#include "alica_ros_turtlesim/turtle_ros1_interfaces.hpp"

#include <engine/blackboard/Blackboard.h>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

seems like its not used

@veerajsk veerajsk merged commit d29b20a into devel Nov 2, 2023
@veerajsk veerajsk deleted the dk/turtlesim_shared_lib branch November 2, 2023 11:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Refactored Refactoring or code organization

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants