AbstractOperatingSystem.st
changeset 7849 40819a29fdcd
parent 7835 146c6e33c570
child 8137 8827bc6a4ed1
equal deleted inserted replaced
7848:89d9378201b1 7849:40819a29fdcd
  4887 %}
  4887 %}
  4888 !
  4888 !
  4889 
  4889 
  4890 millisecondDelay:millis
  4890 millisecondDelay:millis
  4891     "delay execution for millis milliseconds or until the next event arrives.
  4891     "delay execution for millis milliseconds or until the next event arrives.
  4892      All lower priority threads will also sleep for the duration, 
  4892      All other threads proceed as usual. 
  4893      interrupts (and therefore, higher prio processes) are still handled. 
  4893      Better use a Delay, however, a delay cannot be used in the event handler or scheduler."
  4894      Better use a Delay, to only delay the calling thread.
       
  4895      (however, a delay cannot be used in the event handler or scheduler)"
       
  4896 
  4894 
  4897     |now then delta|
  4895     |now then delta|
  4898 
  4896 
  4899     now := self getMillisecondTime.
  4897     now := self getMillisecondTime.
  4900     then := self millisecondTimeAdd:now and:millis.
  4898     then := self millisecondTimeAdd:now and:millis.
  4901 
  4899 
  4902     [self millisecondTime:then isAfter:now] whileTrue:[
  4900     [self millisecondTime:then isAfter:now] whileTrue:[
  4903 	delta := self millisecondTimeDeltaBetween:then and:now.
  4901         delta := self millisecondTimeDeltaBetween:then and:now.
  4904 	self selectOnAnyReadable:nil writable:nil exception:nil withTimeOut:delta.
  4902         self selectOnAnyReadable:nil writable:nil exception:nil withTimeOut:delta.
  4905 	now := self getMillisecondTime.
  4903         now := self getMillisecondTime.
  4906     ]
  4904     ]
  4907 
  4905 
  4908     "
  4906     "
  4909      OperatingSystem millisecondDelay:2000
  4907      OperatingSystem millisecondDelay:5000
  4910     "
  4908     "
  4911 !
  4909 !
  4912 
  4910 
  4913 millisecondTime:msTime1 isAfter:msTime2
  4911 millisecondTime:msTime1 isAfter:msTime2
  4914     "return true if msTime1 is after msTime2, false if not.
  4912     "return true if msTime1 is after msTime2, false if not.
  5520 ! !
  5518 ! !
  5521 
  5519 
  5522 !AbstractOperatingSystem class methodsFor:'documentation'!
  5520 !AbstractOperatingSystem class methodsFor:'documentation'!
  5523 
  5521 
  5524 version
  5522 version
  5525     ^ '$Header: /cvs/stx/stx/libbasic/AbstractOperatingSystem.st,v 1.124 2004-01-26 15:09:08 cg Exp $'
  5523     ^ '$Header: /cvs/stx/stx/libbasic/AbstractOperatingSystem.st,v 1.125 2004-01-29 08:16:57 ca Exp $'
  5526 ! !
  5524 ! !
  5527 
  5525 
  5528 AbstractOperatingSystem initialize!
  5526 AbstractOperatingSystem initialize!