deadlock if there are errors while the Transcript is active

Project:GNU Smalltalk
Component:Base classes
Category:bug
Priority:normal
Assigned:Unassigned
Status:fixed
Description

I think the Semaphore that protects the Transcript has to be changed to a RecursiveLock.

Updates

#1 submitted by Paolo Bonzini on Thu, 03/05/2009 - 09:53

Indeed, this fixes it.

diff --git a/kernel/Transcript.st b/kernel/Transcript.st
index 0d404f6..b0981b9 100644
--- a/kernel/Transcript.st
+++ b/kernel/Transcript.st
@@ -193,7 +193,7 @@ 
        "Private - Initialize the receiver's instance variables"
 
        <category: 'private'>
-       semaphore := Semaphore forMutualExclusion
+       semaphore := RecursionLock new
     ]
 ]

#2 submitted by Paolo Bonzini on Thu, 03/05/2009 - 09:53
Status:active» fixed

committed to master and stable-3.0

User login