Bryan Mayland wrote:
dlls/kernel/sync.c:173: 176 if (count >= MAXIMUM_WAIT_OBJECTS) 177 { 178 SetLastError(ERROR_INVALID_PARAMETER); 179 return WAIT_FAILED;
Windows supports up to and including that number, wine only supports up to that number.
Congratulations, sounds like you found a bug in Wine!
Since the rest of the code actually does support the full 64 wait objects, is there any reason this should not be changed to 176 if (count > MAXIMUM_WAIT_OBJECTS)
Looks like it should be changed.
You've helped greatly with your post. You could help even more by posting a patch that modifies dlls/kernel/tests/sync.c to incorporate your test and also fixes the error. Feel up to it? Just yell if you need help.
Thanks! - Dan
-- Wine for Windows ISVs: http://kegel.com/wine/isv
Dan Kegel wrote:
Congratulations, sounds like you found a bug in Wine!
Yay! I'm glad I'm not crazy.
Looks like it should be changed.
You've helped greatly with your post. You could help even more by posting a patch that modifies dlls/kernel/tests/sync.c to incorporate your test and also fixes the error.
Yeah this is no problem at all. My test app is 150 lines of ugly code whose purpose was to narrow down where the problem was, which was that MAXIMUM_WAIT_OBJECTS weren't supported. You probably don't want to put all that socket code in just to test the event system. Should the test I create actually just create MAXIMUM_WAIT_OBJECTS events and do a wait on them to verify that it can be done?
On 3/21/06, Bryan Mayland bmayland@leoninedev.com wrote:
...My test app is 150 lines of ugly code whose purpose was to narrow down where the problem was, which was that MAXIMUM_WAIT_OBJECTS weren't supported. You probably don't want to put all that socket code in just to test the event system.
Right.
Should the test I create actually just create MAXIMUM_WAIT_OBJECTS events and do a wait on them to verify that it can be done?
Yes. Make the code as small and simple as possible to check that one limit. - Dan
-- Wine for Windows ISVs: http://kegel.com/wine/isv
Dan Kegel wrote:
Yes. Make the code as small and simple as possible to check that one limit.
I've sent the patch to wine-patches as suggested at winehq. I'm not subscribed to that list though, so let me know if there are any problems receiving it or you don't like the test case.
Thanks for your guidance!
On 3/21/06, Bryan Mayland bmayland@leoninedev.com wrote:
Dan Kegel wrote:
Yes. Make the code as small and simple as possible to check that one limit.
I've sent the patch to wine-patches as suggested at winehq. I'm not
subscribed to that list though, so let me know if there are any problems receiving it or you don't like the test case.
I haven't seen it yet at http://www.winehq.org/pipermail/wine-patches/2006-March/ so perhaps there was some trouble with mail.
Did you make sure the test passed on both wine and windows when built as a standalone program? e.g. if you happen to have msvc and the platform sdk installed, and have your environment set up right, you can just do
cd dlls/kernell/tests cl -DSTANDALONE -D_X86_ -I../../../include sync.c
to compile the test as a standalone app, and then run sync.exe on both Windows and Wine.
- Dan
-- Wine for Windows ISVs: http://kegel.com/wine/isv