Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!cbatt!cbosgd!ucbvax!CORY.BERKELEY.EDU!dillon From: dillon@CORY.BERKELEY.EDU (Matt Dillon) Newsgroups: net.micro.mac,net.micro.amiga Subject: Re: Re: Task WAIT on a Mac Message-ID: <8609300348.AA28194@cory.Berkeley.EDU> Date: Mon, 29-Sep-86 23:48:43 EDT Article-I.D.: cory.8609300348.AA28194 Posted: Mon Sep 29 23:48:43 1986 Date-Received: Tue, 30-Sep-86 14:53:16 EDT Sender: daemon@ucbvax.BERKELEY.EDU Organization: University of California at Berkeley Lines: 17 Xref: watmath net.micro.mac:8026 net.micro.amiga:5010 >As I understand it, Wait() doesn't really change the task's priority, >it simply relinquishes that processes's time slice. So I tell my program >to Wait(), the 68000 goes out and does a round of the other tasks, which >might include lower priority tasks. It gets back to me, checks the thing >it waiting on, still waiting, and we go around again. Wrong Wrong Wrong. Wait() is NOT implimented with a poll. When you Wait(), your process goes on a Wait queue and is never even glanced at again until some other process or interrupt signals it (manually or by sending a message to a signalling message port). When this happens, the process (actually called a Task on the amiga) is placed on the Ready queue (unless it's at high enough priority to warrent being run immediately OR if there are no other processes running.. somthing like that), Since only one task can be Run at a time, the Rest are 'Ready'. -Matt