2010/9/7 Cosimo Streppone via RT <bug-win32-...@rt.cpan.org>: > Tue Sep 07 07:04:22 2010: Request 53914 was acted upon. > Transaction: Correspondence added by COSIMO > Queue: Win32-API > Subject: Bug report for Win32::API::Callback > Broken in: (no value) > Severity: (no value) > Owner: Nobody > Requestors: perls...@mail.bg > Status: new > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=53914 > > > > On Fri Jan 22 06:26:39 2010, perls...@mail.bg wrote: > >> The error occurs when cb() routine is called, no matter whether it is >> triggered through GenerateConsoleCtrlEvent call or via while(1){} and >> Ctrl+C. Also specific implementation of cb() routine doesn't matter, >> i.e. callback body can be just return 0 or return 1 - same effect (in >> my implementation no file is created, so I assume that exception is >> generated when OS try to call the callback). My personal opinion is >> that $callback handler is not properly implemented. > > Hi Julian, > > sorry for the late reply. > I have to admit I don't have too much time to debug this, > but I also have no clue about what's going wrong. > > I guess you haven't found a way around your problem...
/usr/include/w32api/windef.h:#define CALLBACK __stdcall So it should just work, both are the same calling convention, CALLBACK is not using cdecl. I'll check if I see something wrong how callbacks (T_CODE) are handled in API.xs But I rather believe the user callback sub is just wrong. You have to debug into the perl-side of the callback. -- Reini Urban