Article View: comp.sys.powerpc
Article #3301Re: Copland merely shifts the burden to the programmer
From: Gregory L Hansen
Date: Wed, 06 Mar 1996 08:39
Date: Wed, 06 Mar 1996 08:39
43 lines
2939 bytes
2939 bytes
In article <313CA521.13D8@mediamatic.nl>,
Pascal Haakmat <pascal@mediamatic.nl> wrote:
>Gregory L Hansen wrote:
>
>> Well... if the Blue Box crashes and is restarted, chances are the program
>> will receive a restart Blue Box event.
>
>Then the blue box would have to restart all the applications that were running at the
>time the blue box crashed. While I certainly consider this a feasible sort of thing,
>re-loading every application sure does kill the prospect of 'shorter startup times'.
I don't think you'd have to restart any apps. As far as I can tell, if
the restart generates some kind of RestartedBlueBox event, you can
trivially redraw everything. All your data are safely tucked away in
protected threads. All your window pointers are tucked away in protected
threads. And your program status can be tucked away in a protected
thread. Everything is linked, so you'll always know how to find anything
you need. Then go through it and, one at a time, call the functions you
used to draw them in the first place. Replace the old window handles
with the new ones.
The app won't have to detect that it crashed. It won't have to pick
up the peices. You won't even have to restart your app. As soon as the
Blue Box is restarted, all the UI stuff will magically reappear as if
nothing happened. The user won't have to do anything.
You know how when you open a word processing document, the window is the
same size and in the same part of the screen as when you left it, and the
document is in the same position you left it? This is exactly the same
thing. You'd probably use exactly the same function, too, if you isolate
the load from disk function so the draw function is by itself (which
you should do, as a matter of programming style).
It will be a little extra work. But not much extra. And certainly not
much work compared to everything ELSE that goes into a program like
Netscape or Descent.
And everything I described is good for a complex program with many
different parts and many different windows and many different processes
being performed simultaneously and all that. If you only have one menu
and one window, it gets even easier. I wouldn't even clasify that as a
little bit of extra work.
But until we learn more, it's all just blind speculation.
Technical Details
Message-ID:
<4hjiv4$hdt@nuke.csu.net>Path:
arc1-ca.pugleaf.net!newshub.csu.net!ghansenReferences:
<nevin-0602962253080001@150.135.1.79> <31349BAA.6418@mediamatic.nl> <4h4qir$dpj@nuke.csu.net> <313CA521.13D8@mediamatic.nl>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!newshub.csu.net!ghansen From: ghansen@isc.sjsu.edu (Gregory L Hansen) Newsgroups: comp.sys.powerpc,comp.os.linux.advocacy,comp.sys.mac.advocacy,comp.os.os2.advocacy,comp.sys.amiga.advocacy Subject: Re: Copland merely shifts the burden to the programmer Date: 6 Mar 1996 08:39:00 GMT Organization: San Jose State University, San Jose, California Message-ID: <4hjiv4$hdt@nuke.csu.net> References: <nevin-0602962253080001@150.135.1.79> <31349BAA.6418@mediamatic.nl> <4h4qir$dpj@nuke.csu.net> <313CA521.13D8@mediamatic.nl> NNTP-Posting-Host: athens.sjsu.edu