यूनिक्स सॉकेट बनाते समय, पथ का नाम (man 7 unix
) अधिकतम 108 वर्ण लंबा होने की अनुमति है। एक दोस्त के लिए इसने अपने कार्यक्रम में एक बग का कारण बना दिया क्योंकि उसका रास्ता लंबा था। अब हम आश्चर्य करते हैं कि वास्तव में यह संख्या कैसे निर्धारित की गई थी।लिनक्स 108 पर यूनिक्स-सॉकेट के लिए अधिकतम पथ लंबाई क्यों दी गई है?
मैं संदेह है कि इतना है कि कि struct sockaddr_un
की sizeof
sockaddr_in
जैसे अन्य sockaddresses की sizeof की तुलना में है स्पष्ट संख्या निर्धारित किया गया था की है। लेकिन अगर वे अन्य आकारों के साथ संघर्ष से बचना चाहते हैं, उदाहरण के लिए प्राइम नंबर का उपयोग क्यों न करें? क्या कोई इसके लिए एक अधिकृत स्रोत प्रदान कर सकता है?
एक प्रमुख संख्या अन्य प्रकार के आकार से क्यों बचेंगी? –
@EdHeal शायद मैं गलत हूं लेकिन गुणक-ऑफ -2 (संरेखण के कारण) जोड़ना अब एक संरचना को इसके आकार से मेल नहीं खाएगा। वैकल्पिक रूप से मैं पूछ सकता था, फिर भी एक संख्या का उपयोग क्यों करें यदि लक्ष्य संघर्ष से बचने के लिए होगा? जो इंगित करता है कि संख्या के बारे में मेरा संदेह गलत हो सकता है। –
माना जाता है कि बहुत सारी संरचनाएं जुड़वाओं में से कई हैं (शायद उनमें से आधा)। लेकिन कुछ प्राइम संख्या का आकार बनाना संघर्ष से बच नहीं आता है। वैसे भी ऐसा करने का मुद्दा क्या है यदि प्रोग्रामर को यह मौलिक हिस्सा गलत हो रहा है और गलत संरचना का उपयोग कर रहा है। –