Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!tut.cis.ohio-state.edu!ucbvax!hoptoad!tim From: tim@hoptoad.uucp (Tim Maroney) Newsgroups: comp.sys.mac.programmer Subject: Re: Need info on multitasking capabilities on the mac Message-ID: <9088@hoptoad.uucp> Date: 27 Nov 89 18:04:31 GMT References: <9072@hoptoad.uucp> <1554@cbnewsk.ATT.COM> Reply-To: tim@hoptoad.UUCP (Tim Maroney) Organization: Eclectic Software, San Francisco Lines: 41 In article <6391@tank.uchicago.edu> gft_robert@gsbacd.uchicago.edu writes: >Sounds like it's your comm program, not the Mac OS. I've never had any >problems of that nature when downloading (using Versaterm). I can choose >menus, play games, etc. Pretty good multitasking, as far as I'm concerned. From article <9072@hoptoad.uucp>, by tim@hoptoad.uucp (Tim Maroney): > I wonder how they do that. Can anyone provide any information? My > first thought was to schedule your file transfer protocol off the > vertical retrace manager, but your tasks don't get called when you're > switched out... In article <1554@cbnewsk.ATT.COM> ech@cbnewsk.ATT.COM (ned.horvath) writes: >Unless you install the VBL task in the System heap. See TN 180 for a full >discussion. Thanks! (Although I wonder whether a single brief sentence in a long and boring technical note really qualifies as "a full discussion".) This could be used, as long as you're not using the Communications Toolbox for your file transfers, but rolling your own file transfer protocols instead. In re-reading that note, I also discovered that what I said about device completion routines was wrong. MultiFinder *will* switch if there are async device requests pending; it only refuses to switch if async file requests are pending, not device requests. So a hand-rolled file transfer protocol could indeed schedule itself off asynchronous device manager request completion routines. Or could it? It will also need to do file manager requests, and it doesn't seem safe to do this either synchronously or asynchronously. You can't make a synchronous request from a completion routine or the system could deadlock; you can't call it asynchronously or you risk confusing MultiFinder -- this might just be a problem for the user (not being able to switch layers), not a system-crash-type problem, but I wouldn't like to bet my code reliability on it. -- Tim Maroney, Mac Software Consultant, sun!hoptoad!tim, tim@toad.com FROM THE FOOL FILE: "I don't know that atheists should be considered citizens, nor should they be considered patriots. This is one nation under God." -- George Bush in FREE INQUIRY magazine, Fall 1988