On Sunday 12 December 2004 02:54 pm, Eric Pouech wrote:
Jonathan Gevaryahu a écrit : does this help? A+
Index: sync.c
RCS file: /home/cvs/cvsroot/wine/wine/dlls/kernel/sync.c,v retrieving revision 1.64 diff -u -u -r1.64 sync.c --- sync.c 7 Dec 2004 14:23:03 -0000 1.64 +++ sync.c 12 Dec 2004 19:53:14 -0000 @@ -893,7 +893,7 @@ OBJECT_ATTRIBUTES attr; NTSTATUS status;
- if (!is_version_nt()) access = SEMAPHORE_ALL_ACCESS;
if (!is_version_nt()) access = TIMER_ALL_ACCESS;
attr.Length = sizeof(attr); attr.RootDirectory = 0;
Unfortunately, your patch doesn't fix the problem. But I noticed something disturbing: in CVS (without your patch) occasionally Total Annihilation will run fine (it did ONCE), but almost all of the time it will not work, and give the previously mentioned trace result.
Sometimes, it will give a different trace result: ... 000d: select() = PENDING warn:file:wine_nt_to_unix_file_name L"units\CORDEV1.OVR" not found in /home/jon athan/.wine/dosdevices/g:/cavedog/totala/units warn:ntdll:NtCreateFile L"\??\G:\cavedog\totala\units\CORDEV1.OVR" not fou nd (c000003a) warn:file:CreateFileW Unable to create file L"units\CORDEV1.OVR" (status c00000 3a) trace:ntdll:NtCreateFile handle=0x4087f7a4 access=80000000 name=L"\??\G:\cave dog\totala\units-english\CORDOOM.FBI" objattr=00000042 root=(nil) sec=(nil) i o=0x4087f7a8 alloc_size=(nil) attr=00000080 sharing=00000003 disp=1 options=00000050 ea=(nil).0x00000000 000d: *wakeup* signaled=258 cookie=0x44f7f4a0 000d: select( flags=12, cookie=0x44f7f4a0, timeout=1102914722.834956 (+0.003836) , handles={0x110} ) 000d: select() = PENDING warn:file:wine_nt_to_unix_file_name L"units-english\CORDOOM.FBI" not found in / home/jonathan/.wine/dosdevices/g:/cavedog/totala warn:ntdll:NtCreateFile L"\??\G:\cavedog\totala\units-english\CORDOOM.FBI" not found (c000003a) warn:file:CreateFileW Unable to create file L"units-english\CORDOOM.FBI" (statu s c000003a) trace:ntdll:NtCreateFile handle=0x4087f7c8 access=80000000 name=L"\??\G:\cave dog\totala\units\CORDOOM.FBI" objattr=00000042 root=(nil) sec=(nil) io=0x4087 f7cc alloc_size=(nil) attr=00000080 sharing=00000003 disp=1 options=00000050 ea=(nil).0x00000000 000d: *wakeup* signaled=258 cookie=0x44f7f4a0 000d: select( flags=12, cookie=0x44f7f4a0, timeout=1102914722.844670 (+0.005838) , handles={0x110} ) 000d: select() = PENDING warn:file:wine_nt_to_unix_file_name L"units\CORDOOM.FBI" not found in /home/jon athan/.wine/dosdevices/g:/cavedog/totala/units warn:ntdll:NtCreateFile L"\??\G:\cavedog\totala\units\CORDOOM.FBI" not fou nd (c000003a) 000a: event_op( handle=0xc0, op=1 ) 000a: event_op() = 0 000d: *wakeup* signaled=258 cookie=0x44f7f4a0 000d: select( flags=12, cookie=0x44f7f4a0, timeout=1102914722.854135 (+0.007851) , handles={0x110} ) 000d: select() = PENDING warn:file:CreateFileW Unable to create file L"units\CORDOOM.FBI" (status c00000 3a) 0009: get_handle_fd( handle=0xec, access=00000000 ) 0009: get_handle_fd() = 0 { fd=24, flags=0 } trace:ntdll:NtReadFile (0xec,(nil),(nil),(nil),0x4087f80c,0x44404668,0x00000200, (nil),(nil)),partial stub! 0009: get_handle_fd( handle=0xec, access=80000000 ) 0009: get_handle_fd() = 0 { fd=24, flags=0 } 000d: *wakeup* signaled=258 cookie=0x44f7f4a0 000d: select( flags=12, cookie=0x44f7f4a0, timeout=1102914722.864331 (+0.009845) , handles={0x110} ) 000d: select() = PENDING trace:ntdll:NtReadFile = 0x00000000 0009: get_handle_fd( handle=0xec, access=00000000 ) 0009: get_handle_fd() = 0 { fd=24, flags=0 } trace:ntdll:NtReadFile (0xec,(nil),(nil),(nil),0x4087f414,0x4506cf40,0x00000200, (nil),(nil)),partial stub! 0009: get_handle_fd( handle=0xec, access=80000000 ) 0009: get_handle_fd() = 0 { fd=24, flags=0 } trace:ntdll:NtReadFile = 0x00000000 trace:ntdll:NtReadFile (0xec,(nil),(nil),(nil),0x4087f404,0x44404668,0x00000200, (nil),(nil)),partial stub! ... And that trace means that it was actually working. If I hadn't Control-C terminated that trace, it would have run the game.
Jonathan Gevaryahu lord_nightmare@users.sf.net