🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.powerpc
Article #3301

Re: Copland merely shifts the burden to the programmer

#3301
From: Gregory L Hansen
Date: Wed, 06 Mar 1996 08:39
43 lines
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!ghansen
References: <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