We implemented a workaround to restore the Process environment in the Seaside code in GRPlatform>>seasideSuspendFlowDo:, WAPartialContinuation>>value: and the class WAGemStoneProcessEnvironmentWrapper (see https://github.com/SeasideSt/Seaside/commit/248af87258b5763817d9e8fe93539fa7141381ed)
An alternative was to revert WADynamicVariable to GRNotificationBasedDynamicVariable.
When future versions of GemStone support restoring the Process environment when restoring partial continuations, we should remove this workaround.
In https://github.com/SeasideSt/Seaside/issues/1198, it was discovered that the change in implementation of
WADynamicVariable
was incorrect because of a missing feature in the implementation of partial continuations in Gemstone: the Process environment of the original continuation is not restored in the Process environment where the continuation is restored into (see https://github.com/SeasideSt/Seaside/issues/1198#issuecomment-632403804).We implemented a workaround to restore the Process environment in the Seaside code in
GRPlatform>>seasideSuspendFlowDo:
,WAPartialContinuation>>value:
and the classWAGemStoneProcessEnvironmentWrapper
(see https://github.com/SeasideSt/Seaside/commit/248af87258b5763817d9e8fe93539fa7141381ed) An alternative was to revertWADynamicVariable
toGRNotificationBasedDynamicVariable
.When future versions of GemStone support restoring the Process environment when restoring partial continuations, we should remove this workaround.