I see the following problem with the implementation of <http://qa.openoffice.org/issues/show_bug.cgi?id=108704> "Need UNO service for restarting the office process" in combination with its use in the implementation of <http://qa.openoffice.org/issues/show_bug.cgi?id=77196> "Bundled extensions":

108704 makes available a service that shuts down the running soffice process and restarts it with the same command line arguments it was originally started with. (At least, that is my understanding from glancing at the code.)

77196 wants to make use of that service to decide, during soffice start, whether changes to bundled extensions require an immediate soffice restart.

A starting soffice opens two kinds of connection acceptors. For one, it starts an inter-office "IPC" connection (desktop/source/app/officeipcthread.cxx), used to make sure that only one soffice process is ever running for a given user at a given point in time (presumably to avoid chaos in the UserInstallation), and additionally started soffice processes for that user connect to the initial process and pass their command line arguments to the initial process, which then handles them. For another, it starts URP connection endpoints for all the "-accept" arguments passed in on the command line.

It is important in which order the three events (77196-restart, accepting "IPC", and accepting "-accept") happen during startup.

Accepting "-accept" should come after 77196-restart (otherwise, there would be the problem of an external process connecting to the first soffice instance, only to immediately afterwards loose its connection again when soffice restarts). This is the easy part.

The problem is with the ordering of accepting "IPC" and 77196-restart.

If accepting "IPC" happens before 77196-restart, a second soffice process can pass its command line arguments to the first instance of the first, accepting soffice process, which then restarts and thus forgets about the command line arguments from the second process. The net effect for the user is that his second soffice invocation (requesting to open a specific document, or to accept on a specific UNO endpoint) appears to have no effect.

If accepting "IPC" happens after 77196-restart, this enlarges the time span in which multiple soffice processes for a single user can run concurrently, potentially causing chaos in the UserInstallation.

-Stephan

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@framework.openoffice.org
For additional commands, e-mail: dev-h...@framework.openoffice.org

Reply via email to