--- a/Method.st Mon May 30 10:56:49 2011 +0200
+++ b/Method.st Tue May 31 16:05:51 2011 +0200
@@ -513,18 +513,19 @@
Otherwise, source is the real source
"
sourcePosition isNil ifTrue:[^ source].
-
- source notNil ifTrue:[
- self class lastMethodSourcesLock critical:[
- LastMethodSources notNil ifTrue:[
- chunk := LastMethodSources at:self ifAbsent:nil.
- ].
+ source isNil ifTrue:[^ nil].
+
+ self class lastMethodSourcesLock critical:[
+ LastMethodSources notNil ifTrue:[
+ chunk := LastMethodSources at:self ifAbsent:nil.
].
- chunk notNil ifTrue:[
- ^ chunk
- ].
-
- LastFileLock critical:[
+ ].
+ chunk notNil ifTrue:[
+ ^ chunk
+ ].
+
+ LastFileLock
+ critical:[
"have to protect sourceStream from being closed as a side effect
of some other process fetching some the source from a different source file"
@@ -540,7 +541,9 @@
ex restart.
].
].
- ] timeoutMs:100 ifBlocking:[
+ ]
+ timeoutMs:100
+ ifBlocking:[
"take care if LastFileLock is not available - maybe we are
called by a debugger while someone holds the lock.
Use uncached source streams"
@@ -558,7 +561,6 @@
].
].
].
- ].
"Cache the source of recently used methods"
chunk notNil ifTrue:[
@@ -581,7 +583,6 @@
^ chunk
"Modified: / 07-01-1997 / 16:20:09 / stefan"
- "Modified: / 28-11-2006 / 11:49:25 / cg"
!
source:aString
@@ -3044,11 +3045,11 @@
!Method class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Method.st,v 1.355 2010-12-23 15:16:43 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Method.st,v 1.356 2011-05-31 14:05:51 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/Method.st,v 1.355 2010-12-23 15:16:43 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Method.st,v 1.356 2011-05-31 14:05:51 cg Exp $'
! !
Method initialize!