The Trunk: ST80-eem.228.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: ST80-eem.228.mcz

commits-2
Eliot Miranda uploaded a new version of ST80 to project The Trunk:
http://source.squeak.org/trunk/ST80-eem.228.mcz

==================== Summary ====================

Name: ST80-eem.228
Author: eem
Time: 11 April 2017, 11:29:49.415405 am
UUID: 3a992a3d-dba9-48e6-8ab9-716c4735bf75
Ancestors: ST80-cmm.227

Fix a regression in ST80-cmm.227 which prevents a debugger opening while another is open.  One should never suspend the active process within a critical: block; doing so prevents the critical: block from completing and hence releasing its lock.  The fix is to pull the suspend out of the critical: block.

=============== Diff against ST80-cmm.227 ===============

Item was changed:
  ----- Method: Debugger class>>mvcOpenContext:label:contents: (in category '*ST80-opening') -----
  mvcOpenContext: aContext label: aString contents: contentsStringOrNil
  "Open a notifier in response to an error, halt, or notify. A notifier view just shows a short view of the sender stack and provides a menu that lets the user open a full debugger."
  "Simulation guard"
  <primitive: 19>
  ErrorRecursionGuard critical:
  [ ErrorRecursion not & Preferences logDebuggerStackToFile ifTrue:
  [ Smalltalk
  logSqueakError: aString
  inContext: aContext ].
  ErrorRecursion ifTrue:
  [ ErrorRecursion := false.
  self primitiveError: aString ].
  ErrorRecursion := true.
  self
  informExistingDebugger: aContext
  label: aString.
  (Debugger mvcContext: aContext)
  openNotifierContents: contentsStringOrNil
  label: aString.
+ ErrorRecursion := false ].
+ Processor activeProcess suspend!
- ErrorRecursion := false.
- Processor activeProcess suspend ]!