On Fri, 17 Mar 2000 08:16:58 -0700, you wrote:
> CVSROOT: /home/wine
> Module name: wine
> Changes by: [EMAIL PROTECTED] 00/03/17 08:16:58
>
> Modified files:
> include : server.h thread.h winbase.h windef.h
> loader : module.c
> scheduler : client.c process.c sysdeps.c thread.c
> server : process.c process.h ptrace.c request.c
> request.h thread.c thread.h trace.c
>
> Log message:
> Have threads and processes exit more cleanly whenever possible.
>
This change breaks Agent's ability to connect reliably with the server
(there appears some timing dependency, it still works in a small
percentage of the times I try).
With -debugmsg +winsock,+server I get this:
| trace:winsock:WSAAsyncGetHostByName hwnd 0260, msg 00000401, host pop.casema.net,
|buffer 8192
| 081e9d18: new_thread( suspend=0, inherit=0 )
| 081ecab8: get_thread_buffer() = 0 { pid=0x81e2fd8, tid=0x81ecab8, boot=0, version=4
|} fd=24
| 081e9d18: new_thread() = 0 { tid=0x81ecab8, handle=268 } fd=23
| 081e9d18: dup_handle( src_process=2147483647, src_handle=268,
|dst_process=2147483647, access=00000000, inherit=0, options=2 )
| 081e9d18: dup_handle() = 0 { handle=272 }
| 081e9d18: queue_apc( handle=224, func=(nil), param=(nil) )
| 08200420: select() = 0 { signaled=192 }
| 081e9d18: queue_apc() = 0
| 08200420: get_apcs( )
| 08200420: get_apcs() = 0 { count=1, apcs={(nil),(nil)} }
| 08200420: select( count=4, flags=2, timeout=-1, handles={272,260,220,228} )
| 081e9d18: release_mutex( handle=132 )
| 081e9d18: release_mutex() = 0
| 081ecab8: init_thread( unix_pid=6933, teb=0x418c0000, entry=0x402a9318 )
| 081ecab8: init_thread() = 0
| trace:winsock:WSOCK32_LibMain 0x41340000 0x2 (nil)
| 081e9d18: select( count=1, flags=0, timeout=-1, handles={132} )
| 081e9d18: select() = 0 { signaled=0 }
| 081e9d18: release_mutex( handle=132 )
| 081e9d18: release_mutex() = 0
<**previous 4 lines repeated 3 times **>
| 081e9d18: select( count=1, flags=0, timeout=-1, handles={132} )
| 081e9d18: select() = 0 { signaled=0 }
| 081e9d18: get_read_fd( handle=236 )
| 081e9d18: get_read_fd() = 0 fd=23
| 081e9d18: release_mutex( handle=132 )
| 081e9d18: release_mutex() = 0
<**same 4 lines repeated 18 times **>
| 081e9d18: select( count=1, flags=0, timeout=-1, handles={132} )
| 081e9d18: select() = 0 { signaled=0 }
| 081e9d18: select( count=1, flags=0, timeout=-1, handles={132} )
| 081e9d18: select() = 0 { signaled=0 }
| 081e9d18: release_mutex( handle=132 )
| 081e9d18: release_mutex() = 0
| 081e9d18: release_mutex( handle=132 )
| 081e9d18: release_mutex() = 0
<**same 4 lines repeated 27 times **>
| 081e9d18: event_op( handle=1414155711, op=1 )
| 081e9d18: event_op() = 0
| 081e9d18: select( count=1, flags=0, timeout=-1, handles={1414155651} )
| 081ecab8: event_op( handle=1414155651, op=1 )
| 081e9d18: select() = 0 { signaled=0 }
| 081ecab8: event_op() = 0
| 081ecab8: terminate_thread( handle=-2, exit_code=0 )
| 081ecab8: terminate_thread() = 0 { self=1, last=0 }
| trace:winsock:WSOCK32_LibMain 0x41340000 0x3 (nil)
| 081ecab8: *killed* exit_code=0
| 08200420: select() = 0 { signaled=0 }
| 08200420: close_handle( handle=272 )
| 08200420: close_handle() = 0
| 08200420: queue_apc( handle=224, func=(nil), param=(nil) )
| 08200420: queue_apc() = 0
| Client protocol error:0x8200420: sendmsg: Bad file descriptor
| 08200420: *killed* exit_code=0
| 081e9d18: event_op( handle=1414155711, op=2 )
| 081e9d18: event_op() = 0
| 081e9d18: select( count=1, flags=0, timeout=-1, handles={132} )
| 081e9d18: select() = 0 { signaled=0 }
| trace:winsock:WSAAsyncSelect (40b08ca0): 0108, hWnd 0260, uMsg 00000402, event
|0000003b
And communication hangs indefinitely.
Any ideas?
Rein.
--
Rein Klazes
[EMAIL PROTECTED]