dalehenrich / tode

tODE - the Object-centric Development Environment. Smalltalk. development, deconstructed and a development environment for GemStone/S. Part of the GsDevKit tool set.
https://github.com/GsDevKit/gsDevKitHome#open-source-development-kit-for-gemstones-64-bit-
MIT License
33 stars 16 forks source link

Adventures in concurrent tODE sessions: debuggers #280

Open dalehenrich opened 8 years ago

dalehenrich commented 8 years ago

When a debugger is popped up in two concurrent tODE sessions you get some interesting commit conflicts:

1@  -> /
2@  -> anOrderedCollection( anIdentitySet(), anIdentitySet(), anIdentitySet())
3@  -> /tmp/sessionTemps/
4@  -> /tmp/

The three nodes are not surprising debugger sessions are stashed in /tmp/sessionTemps, but not quite sure why / and /tmp would be dirtied ... I think that /tmp is created anew for each session ...which is a problem

The anOrderedCollection( anIdentitySet(), anIdentitySet(), anIdentitySet()) is a mystery.

Of course, it is interesting to note that the menuActionBlock is the method that is doing the commit and it is very possible that the debugger should not be doing a commit for any of it's menu items since it isn't likely that any real state is being modified by the menu items and in a client/server situation, the user should be in complete control of the commits ...