thread_info returns MACH_SEND_INVALID_DEST 而不是 KERN_SUCCESS
thread_info returns MACH_SEND_INVALID_DEST instead of KERN_SUCCESS
现在 return 调用 thread_info
而不是 KERN_SUCCESS
,我还不明白是什么导致了这种新情况。
这个 return 值的原因可能是什么。当在 NSOperation
中调用时,我传递了从 mach_thread_self()
获得的有效值作为 thread_act_t
(即第一个参数)。在调用 thread_info()
时,操作可能已经完成,但它的 NSOperationQueue
仍然保留。是不是NSOperation
可能在调用时已经不存在的线程上执行了?
基本上我想根据线程的用户和系统时间找出操作花费了多长时间。该操作在其尾部调用异步服务,thread_info()
从该服务的完成处理程序调用。
我现在 wait
在 NSOperation
中 NSCondition
(在它调用异步服务之后,即在它的最后)和 signal
它在完成处理程序。这似乎已经解决了问题。
现在 return 调用 thread_info
而不是 KERN_SUCCESS
,我还不明白是什么导致了这种新情况。
这个 return 值的原因可能是什么。当在 NSOperation
中调用时,我传递了从 mach_thread_self()
获得的有效值作为 thread_act_t
(即第一个参数)。在调用 thread_info()
时,操作可能已经完成,但它的 NSOperationQueue
仍然保留。是不是NSOperation
可能在调用时已经不存在的线程上执行了?
基本上我想根据线程的用户和系统时间找出操作花费了多长时间。该操作在其尾部调用异步服务,thread_info()
从该服务的完成处理程序调用。
我现在 wait
在 NSOperation
中 NSCondition
(在它调用异步服务之后,即在它的最后)和 signal
它在完成处理程序。这似乎已经解决了问题。