<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
<tt>Thanks, Bart,<br>
<br>
I'll have a look. In any case, the application I wrote had<br>
multiple concurrent instances operating on the same data, so<br>
a distributed implementation using shared memory, etc, and a<br>
single parent process was the way to go, especially with regards <br>
to freeing persistents such as shared memory and SVR4 semaphores. <br>
<br>
The application in question was for control rooms such as NASA<br>
where multiple workstations can concurrently provide keyboard<br>
and mouse input to the display wall, each apparently with their<br>
own color-coded cursor. <br>
<br>
If you watched the Mars lander on TV, which showed the control room, <br>
the display wall was my virtual X server, which is to say, I <br>
implemented it as a single virtual screen. Actually, the code belongs <br>
to my company but since I was the only developer, I consider it mine <br>
in that sense, as well as the video application displaying the <br>
telemetry on the wall, for which I wrote a virtual layer for X Video<br>
so the video windows can span physical frame buffer boundaries, and,<br>
of course, I wrote the physical layer as well. . <br>
<br>
Well, I'm an old hand and the new wave is Windows at my company, and<br>
they have a whole team developing those products. I am still the<br>
only developer on their UNIX products. The original product, as used<br>
by NASA, was based on the VxWorks OS and Cirrus graphics chips. I<br>
subsequently ported this to Linux and ATI graphics chips. Linux is<br>
now looking like the next new wave and with it, of course, X,<br>
although I don't think they will keep me on. I only wish I had an<br>
actual retirement plan instead of this stinking 401K. Wouldn't it<br>
be interesting if the "civilians" had a referendum requiring the<br>
government to adopt the 401K. <br>
<br>
Well, sad violin music and all that. Perhaps I can transubstantiate.<br>
<br>
John<br>
<br>
</tt><br>
Barton C Massey wrote:
<blockquote cite="mid200703030807.l2387DK7016984@adara.cs.pdx.edu"
 type="cite">
  <pre wrap="">In message <a class="moz-txt-link-rfc2396E" href="mailto:45E8C5D7.6000804@jupiter.com"><45E8C5D7.6000804@jupiter.com></a> you wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">Unfortunately, Xlib exits when a display connection is broken.
In order to restore an application that has exited when the
connection can be re-established, it is necessary to have a
parent process without a display connection to detect when the
application has exited and restart it. I call this a "heartbeat
monitor" and have implemented these on commercial applications.

It does not stop there. In order to recover the application's
previous state, it is necessary to keep that in memory that
will persist after the application has exited. Shared memory
is ideal for this purpose. This requires the application to
have been coded for this eventuality.

To summarize, if you are writing the application it is indeed
possible to do what you want, otherwise you probably cannot.
    </pre>
  </blockquote>
  <pre wrap=""><!---->
If you are writing disconnectable applications, be aware
that, unlike Xlib, XCB is very graceful about connection
termination; it will report sensible errors instead of
killing your app :-).  Hopefully we'll get some toolkits
ported to XCB soon, and can start to work on things like
this.

    Bart

  </pre>
</blockquote>
</body>
</html>