Serial comm overlapped IO problem

Rein Klazes rklazes at xs4all.nl
Thu Jul 17 06:01:52 CDT 2003


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.
-- 
Rein Klazes
rklazes at xs4all.nl



More information about the wine-devel mailing list