pnoltes opened a new pull request #369:
URL: https://github.com/apache/celix/pull/369


   This PR fixes an issue with the shell commands `install`, `start` `stop` and 
`uninstall` leading to deadlocks.
   
   A deadlock occurred under two conditions:
    - stopping the shell bundle from a shell interface (shell_tui, etc)
    - stopping or starting a bundle with provides an additional shell command 
from a shell interface.
   This is because the shell protects (mutex) the shell commands while being 
used and when shell commands are added/removed. And for example using a shell 
command `stop` prevents removing/adding additional shell commands.
   
   This issue is solved by adding async bundle lifecycle functions to the 
celix_framework, these function enforce that the bundle lifecycle updates are 
handled on a separate spawned thread.
   
   This PR also updates the following:
   
   - Adds unit tests for shell_tui and refactors the shell_tui so that 
input,output and error file descriptors can be configured
   - Fixes an issue in the shell_tui for autocomplete with shell command 
containing namespace (e.g. "celix::")
   - Refactors the `lb` command so that the - almost always used - `-a` 
argument is no longer needed.
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to