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