मैं कुछ कोड के साथ काम कर रहा हूं जिसे SIGPIPE
के कारण कॉलर को मारने के खिलाफ सुरक्षित होना आवश्यक है, लेकिन एकमात्र सॉकेट लिखता है कि यह प्रदर्शन करने वाला डेटाग्राम सॉकेट (यूडीपी और यूनिक्स डोमेन डेटाग्राम सॉकेट दोनों) पर जा रहा है। क्या मुझे SIGPIPE
के बारे में चिंता करने की ज़रूरत है? मैं सॉकेट पर connect
का उपयोग कर रहा हूं, लेकिन प्रारंभिक परीक्षण (लिनक्स पर) ने दिखाया है कि अगर यूनिक्स डोमेन सॉकेट पर कोई भी नहीं सुन रहा है तो मुझे ECONNREFUSED
मिल जाएगा। सुनिश्चित नहीं है कि यूडीपी के साथ क्या होता है।कभी भी एक डेटाग्राम सॉकेट को लिख सकते हैं कभी भी सिगिप उठाएं?
SIGPIPE
से छुटकारा पाने के लिए मैं पूरी चीज हैक में लपेट सकता हूं, लेकिन यदि यह एक गैर-मुद्दा है तो मैं ओवरहेड को सहेजता हूं और कोड जटिलता को नीचे रखता हूं।
मैं आपको एक बुरा जवाब देने जा रहा हूं। मुझे लगता है कि मैंने इसे एक एप्लीकेशन शुरू करने से पहले देखा है क्योंकि लिनक्स सिस्टम बूटिंग कर रहा था। मैं यह नहीं कह सकता कि यह निश्चित रूप से एक डेटाग्राम सॉकेट था जो अंतर्निहित मुद्दा था, लेकिन जहां तक मुझे पता है कि हमने उस एप्लिकेशन के लिए किसी भी टीसीपी सॉकेट का उपयोग नहीं किया है। आपके लिए यह विचार करने के लिए सिर्फ एक परीक्षण केस है कि यह आपके लिए लागू हो सकता है या नहीं। – Jeff
मुझे लगता है कि मैं सिर्फ 'लिखने' की बजाय 'sendto' का उपयोग करने के लिए चीजों की व्यवस्था कर सकता हूं, इसलिए मैं उस ध्वज को पार कर सकता हूं जो 'सिगिप' को अक्षम करता है। –