🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.mac
Article #26604

Re: A/UX window systems, Mac tool...( Hum Interface)

#26604
From: Christopher Chow
Date: Mon, 21 Mar 1988 02:51
48 lines
3298 bytes
In article <6986@drutx.ATT.COM> clive@drutx.ATT.COM (Clive Steward) writes:
|
|In any Mac program, GetNextEvent () _is_always_called at the appropriate
|interval.  Since the beginning of Mac history, and presumably forevermore.
|
|In your own words, "NO SPECIAL CODING IS NEEDED.  Most programs multitask 
|AUTOMATICALLY without any...".
|
|The sole exceptions are non-user programs which take over the machine, such as
|memory testers or other diagnostic tools.  Same for any Unix box.
|

This is not necessarily true.  In any properly written Mac program
GetNextEvent() or WaitNextEven() is always called each time through the main
event loop.  But what determines how often the main even loop gets executed?

Sometimes you run tasks which are somewhat time critical.  Take for example,
downloading in the background under VersaTerm.  If I try to unstuff a large
StuffIt file, then StuffIt happily crunch away at its unstuff routine until
the large file is processed.  In the meantime, since MultiFinder is
non-preemptive, StuffIt holds control for the entire duration it takes to
process the archive file.  Unfortuantely, the downloading protocols have
time out period, and if the stuffit archive file is large enough then my
downloading session will terminate.  Without preemptive multitasking and
scheduling priorities, its impossible to guarentee that my downloading
session will not terminate due to time out errors.

I suppose that something like StuffIt can be rewritten to call
Get{Wait}NextEvent within the procedure which unstuffs a file, but then
we'll be violating the "no special coding necessary" rule.

Another problem with MultiFinder is that certain simple activity can
interrrupt the entire system.  For example, say you were downloading with
VersaTerm in the background, and doing a few things in another layer.  At
present, its possible to bring background downloading to a complete halt by
pressing the mouse down over a menu/menubar and just hold it there.  So now
I have to worry about how long I take to scan the menus of a new application
that I just downloaded if I'm downloading another one in the background.
Somehow, this dosen't seem right...

Christopher Chow
/---------------------------------------------------------------------------\
| Internet:  chow@tcgould.tn.cornell.edu (128.84.248.35 or 128.84.253.35)   |
| Usenet:    ...{uw-beaver|ihnp4|decvax|vax135}!cornell!batcomputer!chow    |
| Bitnet:    chow@crnlthry.bitnet                                           |
| Phone:     1-607-253-6699   Address: 7122 N. Campus 7, Ithaca, NY 14853   |
| Delphi:    chow2            PAN:  chow                                    |
\---------------------------------------------------------------------------/
Technical Details
Message-ID: <4093@batcomputer.tn.cornell.edu>
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!husc6!mit-eddie!uw-beaver!cornell!batcomputer!chow
References: <1174@cpocd2.UUCP> <6986@drutx.ATT.COM>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!husc6!mit-eddie!uw-beaver!cornell!batcomputer!chow
From: chow@batcomputer.tn.cornell.edu (Christopher Chow)
Newsgroups: comp.sys.mac,comp.windows.misc
Subject: Re: A/UX window systems, Mac tool...( Hum Interface)
Message-ID: <4093@batcomputer.tn.cornell.edu>
Date: 21 Mar 88 02:51:01 GMT
References: <1174@cpocd2.UUCP> <6986@drutx.ATT.COM>
Reply-To: chow@tcgould.tn.cornell.edu (Christopher Chow)
Organization: Cornell Theory Center, Cornell University, Ithaca NY
Lines: 48