簡體   English   中英

NSOutputStream 和 URLSessionUploadTask 死鎖 (__psynch_mutexwait)

[英]Deadlock with NSOutputStream and URLSessionUploadTask (__psynch_mutexwait)

我們的 OSX 應用程序正在使用

func uploadTask(withStreamedRequest request: URLRequest) -> URLSessionUploadTask

上傳時,上傳卡住了。 有些文件設法成功上傳,有時文件更多,有時更少。

查看調試導航器,我可以看到我的流線程顯示了兩個對stream:handleEvent委托的調用(一個接一個;第 11 幀和第 5 幀),這將我指向我在NSOutputStrem上調用 write:maxLength 的代碼行,如下__psynch_mutexwait在第 0 幀。此時應用程序卡住並且沒有網絡調用可以完成執行。

在此處輸入圖片說明
有沒有人遇到過這個問題? 任何幫助表示贊賞,謝謝。

看起來您的處理程序收到兩次信號以寫入同一個流。 添加檢查 streamStatus 是否為 NSStreamStatusWriting 並盡早返回。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM