Harry wrote:
> 
>
> "Harry" <(E-Mail Removed)> дÈëÏûÏ¢ÐÂÎÅ:f5god6$qe4$(E-Mail Removed)...
>> Hi, everyone
>>
>> I have a problem when developing a server.
>> It really troubles me for a very long time.
>>
>> The server's socket-connection is working undering
>> Asynchronize-mode(linger time is 30 seconds).
>>
>> One accept-thread accept new request socket, and then pass the file-handle
>> to other work threads(several ones).
>>
>> When the Server is working under heavy pressure, for example > 30
>> requests/second,
>> it will only work for several hours.
>> And after that the new TCP connections can't be connected anymore.
>>
>> At server side, the status is SYN_RECV(and then be closed as TIMEOUT); at
>> the client side, the status is ESTABLISHED.
>>
>> Function accept() can't create any new socket anymore!!!
>>
>> ~~~More strange is, each time when I use "gdb" attach the working process,
>> and quit debug at once(nothing else be done before quit),
>> the Server's status will be unlocked, it gets back into normally working
>> status!!!
>>
>>
>> WHAT'S THE TROUBLE?
>>
>> PLS give me any help
>>
>> THANKS
>>
>> Harry
>> 06/22/2007
>>
You have a programming bug somewhere, e.g. you write where you have not
malloc'd.
Robert