% % not the A machine, insure we are marked present for the A machine % make sure a busy entry for our locker code is not present % we check xone for any of our locker code % assigned entries to perform the work requested, % when the work is finished, we remove the ready entry from the xact % % make sure we have a present flag in xone for % A machine attention % "present_" lock& exists { % % we are marked present % } { % % not marked as present % remove any ready flag we may have asserted % "ready_" &_Arching.ServLock &"*.txt" ofxone delfiles % % create the present flag so we get assigned tasks % _Arching.ServLock catcr "present_" lock& "presented" log)( write } ifelse % % check for a ready entry exists from us % "ready_" lock& exists "redexist" log)( { % % already posted a ready entry in xone % check if we have been assigned a task % empty ofxone empty { "assign_" &_Arching.ServLock &"_" textwild nextfile ? "assnlock" log)( % % we are responsible for this xact % dup noext "_" 2 1 1 parse "curxact" log)( !Xact % % get info about this Xact % _Xact 1 eq { % % we are flagged to exit and perform update % *xactnonz( } { empty !Camera.Original *xactninf _Camera.Original isnull) { "@@@@@@@@@@@@@@ camorig" log# } { Vm.*Anchor _Shooter.Twi "vmoder" log)( "Mode" *aamgnums "xact" *atoptick } ifelse % % a shootern to a phase requiring A machine processing % will remove the ready entry in the xone % } ifelse true ? } loop filing) } { % % a ready entry is not posted from us in xone % are we marked as busy, if not safe to post one % "busy_" lock& exists "busyexist" log)( { % % A machine is still in protocol exchange % or we are still working on a xact % } { % % no busy for us is posted % false !found % % already posted a ready entry in xone % check if we have been assigned a task % empty ofxone empty { "assign_" &_Arching.ServLock &"_" textwild nextfile ? "assnexist" log)( true !found true ? } loop filing) _found { } { _Arching.ServLock catcr "ready_" lock& "newready" log)( write } ifelse } ifelse } ifelse