Suspend an existing job. (ok, how do I suspend a non-existing job then? )
Call Parameters | Return Parameters | ||
---|---|---|---|
D0.B | $08 | D0.L | Error code. |
D1.L | Id of the job to be suspended. -1 indicates the current job. | D1.L | Preserved. Unless the job id of -1 was used on entry, in which case the return value is the job id of the current job. |
D2.L | Unused. | D2.L | Preserved. |
D3.W | Timeout period in frames. -1 indicates indefinite suspension. | D3.L | Preserved. |
A0.L | Unused. | A0.L | Base address of suspended job. |
A1.L | Address of the flag byte (see below) or zero. | A1.L | Preserved. (or is it? See notes below.). |
ERR_NJ | Invalid job id. |
The following shows the use of this call :
moveq #mt_susjb,d0 ; Trap code moveq #-1,d1 ; Suspend myself moveq #50,d3 ; Suspend for 50 frames suba.l a1,a1 ; No flag byte required trap #1 ; Suspend the job <Do stuff here whan the suspension is over> :