मुझे कुछ कोड मिला है जो समय-समय पर recv()
पर कॉल करता है (MSG_DONTWAIT
ध्वज के साथ)। मैं उत्सुक हूं क्योंकि vtune में मेरा कोड प्रोफाइलिंग, मुझे recv()
से जुड़े कॉल दिखाई देता है, और यह निष्पादित करने के लिए कुल समय का एक बड़ा हिस्सा ले रहा है। मुझे उत्सुकता है कि recv()
sigprocmask()
पर कॉल कर रहा है।रीग सिस्टम कॉल को कॉल करते समय सिगप्रोकमास्क क्यों बुलाया जाता है?
उत्तर
शायद इसलिए रिकॉर्ड्स बता सकता है कि प्रासंगिक सिग्नल जेनरेट किए गए हैं या नहीं, अन्यथा नहीं देखा जाएगा अगर सिग्नल अवरुद्ध किए गए थे। EAGAIN/EWOULDBLOCK को इरनो के मानों के रूप में दिमाग में आना चाहिए जो कभी-कभी संकेतों का उपयोग करके उत्पन्न होते हैं जिन्हें संभवतः अवरुद्ध किया जा सकता है। क्या आपने sigprocmask
man page देखा था?
लिनक्स के तहत टीसीपी सॉकेट के साथ काम करते समय, यदि आप दूसरी तरफ अप्रत्याशित रूप से बंद हो जाते हैं तो आपको सिगिपिप प्राप्त होगा।
आप इस संकेत (ज्यादातर समय, आप 0 खुद के रिटर्न मान संभाल लेंगे, तो आप इस संकेत के बारे में परवाह नहीं है) मुखौटा कर सकते हैं, मुझे लगता है किसंकेत राज्य के लिए प्रणाली पुस्तकालय चेक, और यदि मुखौटा है, तो एक तेज कोड पथ का उपयोग करें।
यदि नहीं, तो यह अनुकूलित नहीं हो सकता है।
बीटीडब्ल्यू, आप सही चयन() सही के बारे में जानते हैं?
- 1. ContentProvider.onCreate() को एप्लिकेशन.ऑनक्रेट() से पहले क्यों कॉल किया जाता है?
- 2. सिस्टम कॉल?
- 3. फ़ंक्शन को कॉल करते समय "अपवाद फेंकना" क्यों आवश्यक है?
- 4. डेटाबेस को कॉल करते समय एंड्रॉइड SQLiteMisuseException.rawQuery
- 5. GetManifestResourceStream GetManifestResourceNames को कॉल करते समय संसाधन नाम मौजूद होने पर क्यों शून्य हो जाता है?
- 6. सिस्टम कॉल को ptrace
- 7. UIWebView: webViewDidStartLoad/webViewDidFinishLoad प्रतिनिधि URL को कुछ URL लोड करते समय कॉल नहीं किया जाता है
- 8. AVAudioPlayer अंतराल को कॉल करते समय
- 9. glGetTexImage (atioglxx.dll) को कॉल करते समय त्रुटि
- 10. क्यों निर्माता को रिवर्स ऑर्डर में बुलाया जाता है?
- 11. ओपन() सिस्टम कॉल
- 12. सिस्टम कॉल को अनदेखा करना
- 13. लिनक्स में सिस्टम कॉल कैसे कार्यान्वित किया जाता है?
- 14. हैकेल एन्यूमेरेटर आधारित आईओ कॉल सिगप्रोकमास्क इतनी बार क्यों करता है?
- 15. सिस्टम कॉल और संदर्भ स्विच
- 16. https कॉल करते समय गलत संस्करण कीस्टोर
- 17. सीगफॉल्ट भेजने की बजाय सिस्टम कॉल EFAULT क्यों लौटाता है?
- 18. आर और सिस्टम कॉल
- 19. संपादन करते समय, 'UITableView` को कॉल नहीं किया जाता है SelectRowAtIndexPath ??
- 20. लिनक्स रीबूट() सिस्टम कॉल: यह kernel_halt() के बाद do_exit (0) क्यों कॉल करता है?
- 21. PHP फ़ंक्शन को कॉल करते समय दायरे को संरक्षित करें
- 22. कॉल करते समय डायल नंबर प्राप्त करें।
- 23. क्या सभी सिस्टम गैर-रीयलटाइम-सुरक्षित कॉल करते हैं?
- 24. ईआईएनटीआर (बाधित सिस्टम कॉल) को कैसे संभालें
- 25. लिनक्स कर्नेल सिस्टम कॉल नंबर
- 26. मैटलैब डीएलएल को पहली कॉल क्यों अगली कॉल से ज्यादा समय लेती है?
- 27. कन्स्ट्रक्टर को कोई कॉल क्यों नहीं है?
- 28. निष्क्रियता के बाद java.beans.Introspector.getBeanInfo को कॉल करते समय प्रदर्शन समस्याएं
- 29. यूनिक्स फोर्क() सिस्टम कॉल कब चलता है?
- 30. ओवरराइड करते समय सुपर() विधि को कॉल न करें?
क्या हम इस व्यवहार को पुन: उत्पन्न करने वाले सबसे छोटे संभव कोड का प्रासंगिक पता देख सकते हैं? क्या हम डेमो कोड भी देख सकते हैं? सिग्नल मास्क पर क्या किया जा रहा है यह देखने के लिए यह रोशनी होगी। – pilcrow
क्या आप उन रिकॉर्ड्स के संदर्भ में 'recv() 'पर विस्तृत कर सकते हैं? आप किस प्रकार की सॉकेट का उपयोग कर रहे हैं? क्या आप सीधे 'recv() 'कॉल कर रहे हैं? – alk