[spam] Re: [x11] Application persistency even when DISPLAY connection is lost
john at jupiter.com
Sat Mar 3 15:10:04 PST 2007
I'll have a look. In any case, the application I wrote had
multiple concurrent instances operating on the same data, so
a distributed implementation using shared memory, etc, and a
single parent process was the way to go, especially with regards
to freeing persistents such as shared memory and SVR4 semaphores.
The application in question was for control rooms such as NASA
where multiple workstations can concurrently provide keyboard
and mouse input to the display wall, each apparently with their
own color-coded cursor.
If you watched the Mars lander on TV, which showed the control room,
the display wall was my virtual X server, which is to say, I
implemented it as a single virtual screen. Actually, the code belongs
to my company but since I was the only developer, I consider it mine
in that sense, as well as the video application displaying the
telemetry on the wall, for which I wrote a virtual layer for X Video
so the video windows can span physical frame buffer boundaries, and,
of course, I wrote the physical layer as well. .
Well, I'm an old hand and the new wave is Windows at my company, and
they have a whole team developing those products. I am still the
only developer on their UNIX products. The original product, as used
by NASA, was based on the VxWorks OS and Cirrus graphics chips. I
subsequently ported this to Linux and ATI graphics chips. Linux is
now looking like the next new wave and with it, of course, X,
although I don't think they will keep me on. I only wish I had an
actual retirement plan instead of this stinking 401K. Wouldn't it
be interesting if the "civilians" had a referendum requiring the
government to adopt the 401K.
Well, sad violin music and all that. Perhaps I can transubstantiate.
Barton C Massey wrote:
>In message <45E8C5D7.6000804 at jupiter.com> you wrote:
>>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.
>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
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the xorg