[Bug 1575] Protocol error:0x807be48: bad wait fd
Wine Bugs
wine-bugs at winehq.com
Mon Jul 7 10:10:50 CDT 2003
http://bugs.winehq.com/show_bug.cgi?id=1575
Speeddymon at yahoo.com changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|Protocol error:0x807be48: |Protocol error:0x807be48:
|bad wait fd |bad wait fd
------- Additional Comments From Speeddymon at yahoo.com 2003-07-07 10:10 -------
Code notes (server/thread.c):
DECL_HANDLER(init_thread)
{
[-snip-]
int wait_fd = thread_get_inflight_fd( current, req->wait_fd );
[-snip-]
if (wait_fd == -1)
{
fatal_protocol_error( current, "bad wait fd\n" );
goto error;
}
[-snip-]
}
So thread_get_inflight_fd is returning -1 is his case.. but why..?
/* get an inflight fd and purge it from the list */
/* the fd must be closed when no longer used */
int thread_get_inflight_fd( struct thread *thread, int client )
{
int i, ret;
if (client == -1) return -1;
-----something is probably failing between here-----
| do
| {
| for (i = 0; i < MAX_INFLIGHT_FDS; i++)
| {
| if (thread->inflight[i].client == client)
| {
| ret = thread->inflight[i].server;
| thread->inflight[i].server = thread->inflight[i].client = -1;
| return ret;
| }
| }
| } while (!receive_fd( thread->process )); /* in case it is still in the
socket buffer */
-----and here-----
return -1;
}
and so it returns -1. If it doesnt make it to the loop then the client is bad?
Could someone add a trace in between the client == -1 line and the start of the
loop and attach the diff (along with instructions on how to proceed) here?
--
Configure bugmail: http://bugs.winehq.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the wine-bugs
mailing list