Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

better management of the processes #4

Open
MaximilienNaveau opened this issue Nov 1, 2019 · 1 comment
Open

better management of the processes #4

MaximilienNaveau opened this issue Nov 1, 2019 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@MaximilienNaveau
Copy link
Collaborator

Problem

When the hardware communication process dies and the dynamic graph process is still alive, the dynamic graph process becomes a ghost process.

Potential solution

A possible way to improve this is to use the main process only for observing the other processes and shutting them down. This is in contrast to the current setup where the motor-process is the "main" process.

This would look something like this:

  • Launch the main executeable - main process is created
  • Fork the hardware process
  • Fork the dynamic graph process
  • Wait until the main process receives an interrupt signal or ros::is_okay becomes false or the hardware process dies.
  • In this case, send the interrupt / kill signal to all still running processes
  • Wait until all started processes have finished.
  • Exit the main process.
@jviereck
Copy link
Contributor

This looks good. In SL, the other processes stay active until the user kills the overall application. This is useful in case the user wants to save / gather information from the other processes. E.g. where the latest received joint commands or used PD gains.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants