Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call.  This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention.

More info: I isolated the problem in a small unmanaged test console app which uses my class which uses boost::asio. I checked Properties->C/C++->Advanced->Calling Convention and it's set to __cdecl. If I try to set it to anything else, the project won't even build. So I'm guessing Boost is built with __cdecl. What can I do, then?  Could this be a bug?

I'm seriously considering using async_read and async_write. Since I want read and write calls to be blocking, I'll need to use a Windows event or something. Is there a Boost class that is as fast, and less unwieldy?


--

Darío Eduardo Ramos
Meditech S.A. www.meditech.com.ar
(+54) 01147603300, Interno 31

Av. Julio A. Roca 3456

Florida Oeste, Bs.As. Argentina