Boost logo

Boost :

From: dmoore_at_[hidden]
Date: 2001-09-14 15:42:31


> --- In boost_at_y..., John Maddock <John_Maddock_at_c...> wrote:
> >In Semaphore::up the assert:
> >
> > assert(ret || GetLastError() == ERROR_TOO_MANY_POSTS);
> >
> >is failing for the semaphore test in thread_test.cpp, it seems as
> though
> >GetLastError is returning ERROR_INVALID_PARAMETER rather than
> >ERROR_TOO_MANY_POSTS on my Win98 box.
>
> I only have access to Win2K machines at this point, and I can not
reproduce
> this problem nor can I see a reason for it. I'd really appreciate
it if
> anyone can explain why this is occuring.

This is unfortunately one of the many quirks of using the "same"
Win32 API on two fundamentally different OS kernels (98 vs 2k). Wait
until you see the differences in the virtual memory systems if you
ever tackle a Boost Memory Map class!

The MSDN docs are silent on the possible error codes returned by
ReleaseSemaphore, actually, but differences in return codes do exist
throughout the synchronization and VM apis.

Dave


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk