Next Jungle Ide iteration will come with a complete “Connections” system to provide a better management of child processes in you coding session.
A connection is a GUI based system that allows you to manage any external program being run by Jungle Ide, like the Monkey compiler, when you’re compiling source code.
This new system will allow you to monitor the external program status (process) and abort its execution at any time, in a clean and resource leak free way.
All in all, to summarize how it does work, you should understand connections this way:
The connections system will display any running sub-process (ie. a compilation & run process) in a separated TAB in the console panel. This simple addition involves some very nice features (both in low level efficiency and in usability):
- This new system will let you monitor when a process execution has ended. (no need to Ctrl+Del any more)
- This new system will prevent the Jungle Ide console to get mixed contents (compilation results contents with Jungle Ide usage information, etc.)
The most important thing: This new system will provide a drastically improved process management system that allows process interruption at any time granting that any child process is also detected and collected and all resources from any process and sub-process in the same branch are properly released.
In other words, the Connections engine integrates a tree-based process identification system that allows any running application, as instance a XNA or GLFW application, to be closed properly. When you do this, Jungle will be closing also any associated or child process that the same application may have started.
As instance, with this new and improved connections approach, when you cancel execution of a XNA Monkey game, you’ll see how the connection closes:
- The Trans tool
- The cmd shell tool used by trans to launch the running application
- The MonkeyGame XNA application being run
- The XNA game proxy engine being automatically started by the game.
This provides a clean way to manage this resources which is much more effective and clean than just deleting the MonkeyGame child process from program manager.
Additionally, if the application being run does itself start secondary processes, they will be automatically detected and destroyed whenever the “connection” is killed.
This will be included in next Jungle Ide version, among some other small improvements on other areas.