Mon, 31 Jul 2017 15:43:13 +0200 #BUGFIX by stefan
Stefan Vogel <sv@exept.de> [Mon, 31 Jul 2017 15:43:13 +0200] rev 22131
#BUGFIX by stefan class: Win32OperatingSystem class added: #nameOfSTXExecutable #primNameOfSTXExecutable changed: #getBinaryType: -- fix for Unicode16String arg https://expeccoalm.exept.de/D207228 pathOfStxExecutable didn't work, if stx was executed and not stx.exe or stx.com
Mon, 31 Jul 2017 15:40:09 +0200 #BUGFIX by stefan
Stefan Vogel <sv@exept.de> [Mon, 31 Jul 2017 15:40:09 +0200] rev 22130
#BUGFIX by stefan class: ObjectMemory class changed: #directoryForImageAndChangeFile (send #pathOfSTXExecutable instead of #nameOfSTXExecutable)
Mon, 31 Jul 2017 10:08:28 +0100 Fixed a baaad bug in `WeakIdentityDictionary` w.r.t growing jv
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 31 Jul 2017 10:08:28 +0100] rev 22129
Fixed a baaad bug in `WeakIdentityDictionary` w.r.t growing that may lead into value loss without noticing. This is bad expecialy for finalization registry where resources may be lost without being finalized. Imagine a following situation: 1. An instance of `WeakIdetityDictionary` (worse: `Registry`) is almost full. 2. Someone wants to add a new element to it, there's no space so `#at:put:` is about to call `#grow:` 3. GC kicks in and collecs more than one element. 4. `WeakIdentityDictionary >> grow:` is called to make space for new element. The problem is after step 3. the contents of the dictionary is (temporarily) invalid - there are two entries (at random positions) whose key is 1 (the corpse). Inherited `Dictionary >> grow:` would treat the corpse as regular key and map them to the same position in the hashtable - last wins, the previous values are simply lost without noticing. Even worse, in case of `Registry` instance, values (executors) are lost without without being sent #finalize so resource leaks. In an extream yet reproducible case this may lead into a loong uninterruptable lags if the dictionary is huge (500k entries) and most of is are corpses not yet taken away - the complexity of `#grow:` then degrades to O(n^2)! To fix this, we need to care for corpses while growing the dictionary and register their death.
Fri, 28 Jul 2017 20:44:57 +0200 #BUGFIX by cg
Claus Gittinger <cg@exept.de> [Fri, 28 Jul 2017 20:44:57 +0200] rev 22128
#BUGFIX by cg class: Behavior changed: #readFrom:onError: do not evaluate the exceptionBlock twice in case of an error (did so, if exception block returned sth. which was not kind of self.
Thu, 27 Jul 2017 16:38:58 +0200 #BUGFIX by stefan
Stefan Vogel <sv@exept.de> [Thu, 27 Jul 2017 16:38:58 +0200] rev 22127
#BUGFIX by stefan class: Filename added: #isValidFilename comment/format in: #isSymbolicLink changed: #makeLegalFilename consider all bad characters class: Filename class comment/format in: #isBadCharacter:
Thu, 27 Jul 2017 16:25:49 +0200 #REFACTORING by stefan
Stefan Vogel <sv@exept.de> [Thu, 27 Jul 2017 16:25:49 +0200] rev 22126
#REFACTORING by stefan class: CharacterArray changed: #isAlphaNumeric
Thu, 27 Jul 2017 16:25:01 +0200 #BUGFIX by stefan
Stefan Vogel <sv@exept.de> [Thu, 27 Jul 2017 16:25:01 +0200] rev 22125
#BUGFIX by stefan class: PCFilename changed: #makeLegalFilename consider all bad characters class: PCFilename class changed: #isBadCharacter:
Thu, 27 Jul 2017 09:35:51 +0200 #BUGFIX
mawalch [Thu, 27 Jul 2017 09:35:51 +0200] rev 22124
#BUGFIX second try for previous commit
Thu, 27 Jul 2017 09:26:15 +0200 #BUGFIX
mawalch [Thu, 27 Jul 2017 09:26:15 +0200] rev 22123
#BUGFIX Fix compilation error with gcc "error: label at end of compound statement".
Wed, 26 Jul 2017 18:09:05 +0200 #FEATURE by cg
Claus Gittinger <cg@exept.de> [Wed, 26 Jul 2017 18:09:05 +0200] rev 22122
#FEATURE by cg registry keys and values may now be all unicode16strings class: Win32OperatingSystem::RegistryEntry comment/format in: #deleteSubKeyNamed:flags: #subKeyAtIndex: #subKeyNameAndClassAtIndex: #subKeyNamed: #subKeyNamed:createIfAbsent: #subKeyNamed:flags: #subKeyNamed:flags:createIfAbsent: #valueNameAtIndex: #valueNamed: #valueNamed:put: changed: #deleteValueNamed: #remoteKeyOnHost:
(0) -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 tip