कारण यह ढेर का उपयोग नहीं कर रहा है मानकों (पीओएसईक्स) और अन्य प्रणालियों के अनुरूप है। इंटरफ़ेस ऐसा नहीं है कि आपको बफर वापस लौटाया जाना चाहिए। यह स्थैतिक भंडारण मानता है ..
लेकिन इसे थ्रेड लोकल (__thread
के साथ) घोषित करके, दो धागे एक दूसरे के साथ संघर्ष नहीं करते हैं यदि वे दोनों फ़ंक्शन को कॉल करते हैं। यह इंटरफ़ेस की टूटी हुईता के लिए ग्लिब का वर्कअराउंड है।
यह सच है कि यह पुन: प्रवेश नहीं है या उस अवधि की भावना के अनुरूप है। यदि आपके पास एक रिकर्सिव फ़ंक्शन है जो इसे कॉल करता है, तो आप कॉल के बीच बफर पर भरोसा नहीं कर सकते हैं। लेकिन इसका उपयोग कई धागे द्वारा किया जा सकता है, जो अक्सर पर्याप्त होता है।
संपादित करें: वैसे, मुझे बस याद आया, इस फ़ंक्शन का एक नया संस्करण है जो कॉलर-प्रदत्त बफर का उपयोग करता है। inet_ntop()
देखें।
@asveikau: प्रिंट त्रुटि के लिए खेद है। – Jichao
@asveikau: निष्कर्ष में, इसकी संगतता के लिए? – Jichao
@jcyang हां, यह संगतता के लिए है। – asveikau