[Pharo-project] Issue 3341 in pharo: use #= for integer comparison instead of #==

pharo at googlecode.com pharo at googlecode.com
Sat Nov 27 17:39:43 CET 2010


Comment #3 on issue 3341 by stephane.ducasse: use #= for integer comparison  
instead of #==
http://code.google.com/p/pharo/issues/detail?id=3341

Name: Kernel-dtl.517
Author: dtl
Time: 15 November 2010, 12:49:28.804 pm
UUID: 2c83e064-fa7d-4fc0-8e81-140b88e48a49
Ancestors: Kernel-ul.516

Revert last change to Semaphore>>critical:ifLocked: using latest version  
from Cuis, which adds a method comment to explain the reason for use of #==  
rather than #=

=============== Diff against Kernel-ul.516 ===============

Item was changed:
  ----- Method: Semaphore>>critical:ifLocked: (in category 'mutual  
exclusion') -----
  critical: mutuallyExcludedBlock ifLocked: alternativeBlock
        "Evaluate mutuallyExcludedBlock only if the receiver is not  
currently in
        the process of running the critical: message. If the receiver is,  
evaluate
        mutuallyExcludedBlock after the other critical: message is finished."

+       "Note: The following is tricky and depends on the fact that the VM  
will not switch between processes while executing byte codes (process  
switches happen only in real sends). The following test is written  
carefully so that it will result in bytecodes only.
+       Do not change the following #== for #=, as #== is not a real  
message send, just a bytecode."
+       excessSignals == 0 ifTrue: [
-       "Note: The following is tricky and depends on the fact that the VM  
will not switch between processes while executing byte codes (process  
switches happen only in real sends). The following test is written  
carefully so that it will result in bytecodes only."
-       excessSignals = 0 ifTrue:[
                "If we come here, then the semaphore was locked when the  
test executed.
                Evaluate the alternative block and answer its result."
                ^alternativeBlock value
        ].
        ^self critical: mutuallyExcludedBlock!





More information about the Pharo-project mailing list