Re: CFNetwork, Run Loops, and Tools
Re: CFNetwork, Run Loops, and Tools
- Subject: Re: CFNetwork, Run Loops, and Tools
- From: "Duane Murphy" <email@hidden>
- Date: Fri, 3 Feb 2006 15:25:09 -0800
Out of curiosity I changed the run mode to CFSTR("mymode") and now it works.
Umm, how does that make sense. Is kCFRunLoopCommonModes changing? Should
I use kCFRunLoopDefaultMode instead?
Interesting.
--- At Fri, 3 Feb 2006 15:18:41 -0800, Duane Murphy wrote:
>I trimmed down the code to just have my networking interface and the
run loop.
>
>Sure enough, if I use CFRunLoopRun() it works dandy. If I use
>CFRunLoopRunInMode() it doesn't work.
>
>Here are the relevant lines:
>
> SInt32 run_loop_reason
> = CFRunLoopRunInMode( kCFRunLoopCommonModes, 0.5, false );
> // true or false for returning doesn't affect the results
>
>and
>
> CFReadStreamScheduleWithRunLoop(
> stream, CFRunLoopGetCurrent(), kCFRunLoopCommonModes );
>
>There are no other threads. The second call is on the same call stack as
>the first so it's the same run loop.
>
>So what could be the problem?
>
> ...Duane
>
>--- At Fri, 3 Feb 2006 14:47:29 -0800, Becky Willrich wrote:
>
>>It's hard to tell without seeing your code, but it does sound like
>>something run loop related has gone wrong. What mode are you running
>>the run loop in? Does it match the mode you scheduled the stream
>>in? I'd double-check your arguments to
>>CFReadStreamScheduleWithRunLoop and CFRunLoopRunInMode; that's the
>>best I can suggest.
>>
>>Good luck,
>>REW
>>
>>On Feb 3, 2006, at 2:31 PM, Duane Murphy wrote:
>>
>>> Hello Fellow Network Programmers,
>>>
>>> I'm writing a tool (ie command line program), that uses CFNetwork, in
>>> particular CFHTTPMessage and CFReadStream (in order to do some HTTP
>>> transactions).
>>>
>>> I'm having trouble in that everything seems to get built OK (using
>>> CFNetworkHTTPDownload as a model), but there is no network traffic.
>>> Nothing comes out at all.
>>>
>>> I am using CFReadStreamScheduleWithRunLoop(). My context retain()
>>> function is being called, so there's something there.
>>> CFReadStreamOpen()
>>> returns true, but I don't see any traffic (with tcpdump), and the call
>>> back function is never called, and the context release function is
>>> never
>>> called.
>>>
>>> I'm wondering if there's something in the run loop that I need to
>>> setup?
>>>
>>> I am calling CFRunLoopRunInMode() in a while loop. Interestingly it
>>> always returns kCFRunLoopRunFinished, which means there's no
>>> sources on
>>> the run loop.
>>>
>>> I setup all the CFNetworking code before calling CFRunLoopRunInMode().
>>>
>>> What am I missing?
...Duane
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Macnetworkprog mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden