From: William Kempf (williamkempf_at_[hidden])
Date: 2001-09-17 09:03:08
>>--- 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
>> >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
>>this problem nor can I see a reason for it. I'd really appreciate
>>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.
I'm not sure I buy this explanation. Even though it's quite possible that
the return codes may be different between the platforms this simply does not
explain this situation. There's no "invalid parameter" being used here.
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk