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

Reply via email to