.title sleep ;+ ; subroutine sleep(seconds) ; ; this routine gets a free event flag from the pool, sets up a mark ; time for that many seconds, and stops until the event flag becomes ; set ;- ap=%5 sec=2 .mcall mrkt$s,stse$s .psect $r.roi,con,ro,rel,lcl,i .enabl lsb sleep:: call r$gefn ; get a free event flag mrkt$s r0,@sec(ap),#2 ; set up mark time bcs 10$ ; c set => ugly error stse$s r0 ; wait for event flag 10$: call r$pefn ; return event flag return .end