• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Re: NSTask interactive question
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Re: NSTask interactive question


  • Subject: Re: Re: NSTask interactive question
  • From: "Shawn Erickson" <email@hidden>
  • Date: Wed, 29 Nov 2006 15:04:59 -0800

On 11/29/06, Chris Suter <email@hidden> wrote:

On 30/11/2006, at 9:45 AM, Shawn Erickson wrote:

> On 11/29/06, Chris Suter <email@hidden> wrote:
>>
>> One thing to be wary of (although it might not occur in your
>> case), is that
>> both writeData and availableData can block if there isn't
>> sufficient buffer
>> space.
>
> How can availableData block if the pipe it is reading from becomes
> full?

You're quite right, obviously it can't. It can block when there is no
data. Anyway, that's irrelevant. My point still stands, I believe you
could still get the deadlock: writeData blocks on a full buffer &
puts or stdout.flush in Ruby blocks waiting on a full buffer.

Correct a deadlock potential exists because they are waiting on each other to drain their respective output pipes... for that to happen would require one to get ahead of the other or for one to write out a large enough amount of data before being fully able to drain its input pipe.

This type of issue can be addressed by read in background
functionality or by using two threads in his application (one to fill
the pipe and the other to drain the pipe).

-Shawn
_______________________________________________

Cocoa-dev mailing list (email@hidden)

Do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


References: 
 >NSTask interactive question (From: Matt Neuburg <email@hidden>)
 >Re: NSTask interactive question (From: "Shawn Erickson" <email@hidden>)
 >Re: NSTask interactive question (From: Chris Suter <email@hidden>)
 >Re: Re: NSTask interactive question (From: "Shawn Erickson" <email@hidden>)
 >Re: NSTask interactive question (From: Chris Suter <email@hidden>)

  • Prev by Date: Re: NSTask interactive question
  • Next by Date: Re: how to stop a thread that's in a blocking call from the main thread
  • Previous by thread: Re: NSTask interactive question
  • Next by thread: NSImage TIFFRepresentation memory leak
  • Index(es):
    • Date
    • Thread