On Sat, 24 Dec 2011 11:45:48 +0100, TUDOR Coserea <cosereatu...@yahoo.com>
wrote:
I had some issues I investigated for myself with WIN32::API package. The
end result are following fixes(see the attached archive).
* Fixed an issue on x64 when @rbp becomes unaligned (see the selenium
bug)
* Out params are now updated (if not read-only)
* Fixed a memory leak
* pack(1) triggers AV due to the callback struct being aligned
differently with VC2010. I supsect somebody added the #pragma pack(1)
after the dll was created :(.
* Added more tests.
Thanks! I hope libwin32@ users (in CC) can help testing these
changes. I know there's a lot of users who have been
experiencing random crashes using callbacks and/or x64.
For libwin32 users: the archive is marked with v0.65:
https://github.com/cosimo/perl5-win32-api/downloads
QQ: Why the callback is so complicated (i.e. why is required to parse
the assembly and to relocate the code. Isn't much simpler to just create
a small stub with the right info to be passed to a generic function?).
Also when DEP is enabled callback functions triggers an AV (i.e. instead
of malloc/free one should be using
VirtualAlloc/VirtualProtect/VirtualFree to avoid it).
I'm afraid you're much more skilled in Win32 development
than I am. I'm mainly trying to be a good maintainer
to keep the project alive for the good of Win32 Perl users.
Thanks,
Tudor.
Thanks to you again.
I'll mention this patches to libwin32@perl.org and
collect some feedback, and then roll a new version out.
--
Cosimo