Win32s Is No Longer Limited to 256 Selectors

ID: Q147428


The information in this article applies to:

Prior to version 1.2, Win32s had a limit of 256 selectors that it maintained for selector synthesis and once a selector had been allocated, it could not be reused after freeing it.

When thunking pointers down to the 16-bit side, Win32s allocates selectors on the fly for mapping the 0:32 linear address to the 16:16 address that the 16-bit side could use. These synthesized selectors were saved in an internal table and reused later whenever needed. It was this table that was limited only to 256 selectors in Win32s prior to version 1.20. Since Win32s could reuse these synthesized selectors, they can not be freed either.

However, this problem was eliminated in Win32s version 1.2 and the solution was further enhanced in Win32s version 1.25. Now, the current version of Win32s (version 1.30c) is no longer limited to 256 selectors.

However, it is still possible that a Win32s application could consume all available selectors in the system and potentially bring Windows 3.x to a halt, but such a scenario rarely occurs and is probably specific to a given application.

Additional query words: 1.20 256 selector synthesis fix kbinf


Keywords          : kbWin32s 
Version           : 1.20 1.25a 1.30 1.30a 1.30c
Platform          : WINDOWS 
Issue type        : 

Last Reviewed: March 7, 1999