1

I'm using NSTask and NSPipe to execute a command and asynchronously get its output.

The code I'm using is almost 100% the same as in my question, here (with the fixes included).

However, while I'm testing it, I noticed that some times, the NSTaskDidTerminateNotification comes several milliseconds BEFORE the last NSFileHandleReadCompletionNotification.

In other words, the seemingly dead task is sending me data AFTER it has been terminated.

What's going wrong? Any ideas?

Community
  • 1
  • 1
Dr.Kameleon
  • 22,532
  • 20
  • 115
  • 223
  • 1
    Nothing is wrong. If the pipe is only closed when the task ends, it is impossible to know which notification you will get first. – ughoavgfhw Apr 22 '12 at 17:29

1 Answers1

0

As @ughoavgfhw mentioned : it turns out there really was no issue.

Dr.Kameleon
  • 22,532
  • 20
  • 115
  • 223
  • Well, I found your question in the hopes to solve my problem - which is that I need to know how to wait until all the data has been read asynchronously after the task has terminated, because it so happens that there's stil some data to be read after termination of the task. Too bad your answer does not cover that – Thomas Tempelmann Oct 18 '19 at 22:43