Hi,
Recent commits http://www.winehq.com/hypermail/wine-cvs/2003/06/0232.html and http://www.winehq.com/hypermail/wine-cvs/2003/07/0090.html
broke communication with my online banking program girotel.
Part of the +relay,+comm,+file,+server trace:
| 0009:Call kernel32.ClearCommError(000000bc,40721064,4072106c) ret=6005312f | 0009: get_handle_fd( handle=0xbc, access=80000000 ) | 0009: get_handle_fd() = 0 { fd=16, type=1, flags=1 } | trace:comm:ClearCommError handle 0xbc cbInQue = 375 cbOutQue = 0
ClearCommError indicates 375 bytes available.
| 0009: get_serial_info( handle=0xbc ) | 0009: get_serial_info() = 0 { readinterval=ffffffff, readconst=00000000, readmult=00000000, writeconst=00000000, writemult=00000000, eventmask=0000003d, commerror=00000000 } | 0009: set_serial_info( handle=0xbc, flags=4, readinterval=00000000, readconst=00000000, readmult=00000000, writeconst=00000000, writemult=00000000, eventmask=00000000, commerror=00000000 ) | 0009: set_serial_info() = 0 | 0009:Ret kernel32.ClearCommError() retval=00000001 ret=6005312f | 0009:Call kernel32.ReadFile(000000bc,407210ac,00000177,40721060,4050358c) ret=60053164 | trace:file:ReadFile 0xbc 0x407210ac 375 0x40721060 0x4050358c
App. requests those 375 bytes.
| 0009: get_handle_fd( handle=0xbc, access=80000000 ) | 0009: get_handle_fd() = 0 { fd=16, type=1, flags=1 } | 0009: register_async( handle=0xbc, type=1, overlapped=0x40503708, count=375, status=00000103 ) | 0009: register_async() = 0 | 0009:Ret kernel32.ReadFile() retval=00000000 ret=60053164 | 0009:Call kernel32.GetLastError() ret=60053172 | 0009:Ret kernel32.GetLastError() retval=000003e5 ret=60053172
Read returns failure with GLE() == ERROR_IO_PENDING, leading to an error messagbox in the program.
With only the first commit, the ReadFile returns 1 (success) but no data. Nowthe situations seems reversed, since accepting the error message the program proceeds to the next read and a new error messagebox.
Any suggestions?
Rein.