Re: CFSocket freezes
Re: CFSocket freezes
- Subject: Re: CFSocket freezes
- From: Felix Schwarz <email@hidden>
- Date: Sun, 27 Nov 2005 16:15:48 +0100
I haven't written much networking code for OS X yet, but I have made
some observations. I hope they are helpful in one way or another.
Have you had a look at the CocoaHTTPServer sample code? I had a brief
look at it the other day out of interest and could not establish a
connection to it, either, although the propagation of the service as
such via Bonjour worked for me. This is on 10.4.3 as well. Maybe it's
related.
Also, while I think about it, I had Safari to "freeze" a lot of times
in 10.4.3 when running it for a couple of days. Safari indicated to
be working on the connection while nothing happened. Quitting Safari
and restarting it always solved the issue. Firefox never had such a
problem, so this can't be owed to my connection.
If it proves to actually be a problem in CFSocket, you may want to
look into ways to work directly with BSD sockets, thus not going
through CFSocket for this purpose.
Felix
Am 25.11.2005 um 22:22 schrieb Frank Illenberger:
Hi,
I am developing a server using AsyncSocket/CFSocket wich is working
fine with only exception, that it freezes in the acceptor thread in
a call to CFWriteStreamOpen after having replied about 300-5000
requests. Sometimes it answers 100.000 requests without a problem
but 50% of the time it freezes after 500 requests.
The stack trace of the frozen acceptor thread looks like this:
#0 0xffff85d8 in ___spin_lock_relinquish () at /System/Library/
Frameworks/System.framework/PrivateHeaders/ppc/cpu_capabilities.h:186
#1 0x90f1240c in _SocketStreamOpen ()
#2 0x9076c39c in _CFStreamOpen ()
#3 0x9076c314 in CFWriteStreamOpen ()
#4 0x10033f48 in -[AsyncSocket openStreamsAndReturnError:]
(self=0x6ad8c30, _cmd=0x1005b800, errPtr=0x0)
#5 0x100338dc in -[AsyncSocket doAcceptWithSocket:]
(self=0x398a40, _cmd=0x1005b8a0, newNative=21)
#6 0x100387e4 in -[AsyncSocket
doCFSocketCallback:forSocket:withAddress:withData:] (self=0x398a40,
_cmd=0x1005b4ac, type=kCFSocketAcceptCallBack, sock=0x399030,
address=0x6ad9730, pData=0xf0080664)
#7 0x10038b68 in MyCFSocketCallback (sref=0x399030,
type=kCFSocketAcceptCallBack, address=0x6ad9730, pData=0xf0080664,
pInfo=0x398a40)
#8 0x90770944 in __CFSocketDoCallback ()
#9 0x90770668 in __CFSocketPerformV0 ()
#10 0x9075da5c in __CFRunLoopDoSources0 ()
#11 0x9075cf8c in __CFRunLoopRun ()
#12 0x9075ca0c in CFRunLoopRunSpecific ()
#13 0x928ea664 in -[NSRunLoop runMode:beforeDate:] ()
#14 0x9292f298 in -[NSRunLoop runUntilDate:] ()
#15 0x100394cc in -[WBLDefaultAdaptor runAcceptorThread]
(self=0x38b280, _cmd=0x1005c354)
#16 0x928db6d4 in forkThreadForFunction ()
#17 0x9002b200 in _pthread_body ()
Has anybody observed a similar behavior with CFSocket does anybody
know a way to get around this?
I am running 10.4.3.
Cheers
Frank
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden