[Bug 1575] Protocol error:0x807be48: bad wait fd
http://bugs.winehq.com/show_bug.cgi?id=1575 Speeddymon(a)yahoo.com changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Protocol error:0x807be48: |Protocol error:0x807be48: |bad wait fd |bad wait fd ------- Additional Comments From Speeddymon(a)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.
participants (1)
-
Wine Bugs