• Dan Ellis's avatar
    Made UpCall 6 work with pollwords. · b09c7ea0
    Dan Ellis authored
      UpCall 6 is documented as accepting a pollword which can be scanned for
    being non zero to return control to the process requesting to sleep.  This
    was not being used within the taskwindow module, there being a comment where
    it would have been used suggesting that this would give the taskwindow too
    high a priority.  What this means is that if given a pollword that is already
    nonzero, the task would receive so many polls as to really make the desktop
    juddery.  The solution is that if the pollword is non-zero on entry,
    Wimp_Null is unmasked rather than passing the pollword.
      This means that UpCall 6 can be used either as a yield, to say 'let other
    tasks have some CPU now' (by passing a pollword known to contain nonzero) or
    as sleep to say 'wake me up when the pollword becomes non zero, and don't
    consume any CPU time until then' (by passing a pollword that will only become
    nonzero upon the occurance of a specific event).
      Tested on RPC.
    Version 0.65. Tagged as 'TaskWindow-0_65'
VersionNum 769 Bytes