After 2 weeks debugging between window$ and wine (sigh), I found a different
behaviour of VirtualQuery function : The app queries info about some pages
in its code (really dunno why....); in PROTECT field of BASIC_MEMORY_INFO,
windows returns a 0x20 value (EXECUTE_READ), but wine returns 0x08
(WRITE_COPY), causing app to hang.
I guess there's an error somewhere, as the required info belongs to executable
code, so at least should be active some EXECUTE flag; btw, my app checks
only that the page has not active NO_ACCESS, WRITECOPY and PAGE_GUARD flags,
and behaves badly if find one of them.
As a check, I only add an
*protect = *protect & 0xffff7fff
to GetWin32Prot code, taking so off the WRITECOPY flag only, and the app began
starting.
As I don't know about anything of linux memory protections (sigh), the
question is : is there someone with wnough skllls that want to check it ? :-)
Regards
Max