On 7 October 2013 17:25, Henrik Johansen <henrik.s.johansen@veloxit.no> wrote:
Uhm, I didn't read your implementation, but the proper thing to do for a VM which doesn't care about the external objects table (splObjs at: 39) growing, is returning nil from maxExternalSemaphores, like it will for pre-Cog VM's.
On Oct 7, 2013, at 4:36 , Igor Stasenko <siguctua@gmail.com> wrote:
> 1 thing.
>
> can you tell me what given expression yields for your VM/image:
>
> Smalltalk vm maxExternalSemaphores
>
> (if it gives you number less than 10000000 then i think i know what is your problem :)
>
or.. release VM + image, where image aware of current VM capabilities, and refuses to run on older ones, and get rid of all this stuff altogether.i changed the low-level implementation (C level), but not primitive level. sure thing more cleanup & polishing can be done,
but the changes i made never get reviewed and properly tested (though, there was no problems reported since year from when it was introduced,except from last unfortunate rollback to Eliot's original implementation).
Otherwise, you'll get a domain error when you eventually (yes,yes, it'll take awhile) run out, and maxExternalSemaphoresSilently: tries to set the new max to a value that won't fit in the 16bit header field where it expects to put it�
yes.. theoretically.. but i have gut feeling that your image/setup will experience a lot of other different problems (memory consumption/amount of available OS handles etc), before you get to that point. And at that point, you will need to modify VM/OS/image anyways (or figure how to work around limits in other way)..