David Nickerson wrote: > I'd just like to check my understanding of this. When I start pcenv the > first time, a cellml_corba_server process is started up (if its not > already running, I assume) and forked into the background. When I exit > pcenv the cellml_corba_server process continues to run, unknown to the > user. And then the cellml_corba_server will continue to run, hidden in > the background doing who knows what It should be idle unless there are clients using it. > until I either kill it or reboot my > machine? > > If that is the case, this really concerns me and is something that pcenv > should definitely not be doing. > By doing this, it allows several features to work: 1) You can have two PCEnv windows open at the same time on your computer, and they will correctly interact with each other (e.g. changes to the loaded model list made in one window will take effect in the other instance). 2) In the future, there is likely to be more than one type of CellML tool available. As long as they all follow the standardised interface for the CellML context, the tools will be able to interoperate (for example, in the future there could be CellML Context aware command line tools, or tools which perform very domain specific operations). > As I understand it, pcenv should be a standalone application for people > to run. Why does it need to start up a independent server of any kind > PCEnv is a standalone application, but it comes bundled with its dependencies, one of which is cellml_corba_server. CellML CORBA server is a shared component which can also be used by products other than PCEnv. > and why does it then leave that server running once you exit the > application? > 1) We don't currently have any way of keeping track of who is using it. There could potentially be more than one app using the same cellml_corba_server, so if it was to exit, there would need to be some sort of reference count (this is doable, but see below for why it isn't a good idea). 2) The user can currently close the PCEnv main window, and then start it again and come back to the models they have already loaded, without having to wait for CellML CORBA server to start up, and without having to re-load their models. This mode of operation will be even more important when we get some context-aware command-line tools, as the user will expect that the command line program exits immediately, but obviously the effects on the context have to persist.
The default configuration for the server is to bind to localhost only, so there are no issues of programs on other computers getting access to the models you are working on (although this could easily be enabled in the future if we need it, presumably with some security interceptors to check access). The only time this should affect the user is when they install a new version (I could try to get the Windows installer to kill the process, which could help). Best regards, Andrew _______________________________________________ cellml-discussion mailing list [email protected] http://www.cellml.org/mailman/listinfo/cellml-discussion
