बस उत्सुक। कौन सी प्रणालियां EAGAIN और EWOULDBLOCK #define
दोनों को अलग-अलग मान प्रदान करती हैं?कौन सी सिस्टम ईजेन और ईवॉल्डब्लॉक को अलग-अलग मानों के रूप में परिभाषित करती हैं?
उत्तर
थे कुछ ... http://www.gnu.org/s/hello/manual/libc/Error-Codes.html
पोर्टेबिलिटी नोट: कई पुराने यूनिक्स प्रणालियों में, इस हालत EWOULDBLOCK है, जो एक विशिष्ट त्रुटि कोड EAGAIN से अलग था ने संकेत दिया गया था। अपने प्रोग्राम को पोर्टेबल बनाने के लिए, आपको दोनों कोडों की जांच करनी चाहिए और उनका इलाज करना चाहिए।
http://lists.parisc-linux.org/hypermail/parisc-linux/9895.html
कुछ SysV सिस्टम पर EAGAIN! = EWOULDBLOCK। मुझे लगता है कि हम HPUX से errno परिभाषाओं विरासत में मिला ...
पुराने AIX भी ऐसी प्रणाली है: http://programming.itags.org/unix-linux-programming/81597/
HPUX (और AIX के पुराने संस्करणों)
के लिए AIX मुझे कोडों की सूची मिली: http://homepage3.nifty.com/owl_h0h0/unix/job/UNIX/tutorial/error.html
11 ईजेन; 54 EWOULDBLOCK
ओएस/390 भी: http://web.archiveorange.com/archive/v/zvbaIz8u6TzsQHHjfzOi
ओएस/390 और अन्य प्लेटफार्मों EWOULDBLOCK = EAGAIN
है जहां संपूर्ण तालिका: http://www.ioplex.com/~miallen/errcmp.html
SUSv3 AIX 4.3,5.1 HP-UX 11.22 Solaris 9,10 Linux 2.4.28,2.6.9 IRIX 6.5[4] OSF1 FreeBSD 5.2.1 OSX 10.3.8 MSVC6
EAGAIN 1 0 Resource unavailable, try again [3] 11 Resource temporarily unavailable 11 No more processes 11 Resource temporarily unavailable 11 Try again 11 Resource temporarily unavailable 11 ditto 35 Resource temporarily unavailable 35 Resource temporarily unavailable 11 Resource temporarily unavailable
EWOULDBLOCK 0.9 0 Operation would block [3] 54 Operation would block [2] 246 Operation would block 11 11 Operation would block 11 Resource temporarily unavailable 35 Operation would block 35 Operation would block 35 Operation would block
तो, एईक्स 4.3,5.1; एचपी-यूएक्स 11.22 और ओएसएफ 1 EAGAIN और EWOULDBLOCK
हां, कुछ सिस्टम हैं।
जीएनयू सी पुस्तकालय में वे हमेशा एक ही मूल्य रखते हैं।
विशेष रूप से कौन से सिस्टम के लिए विभिन्न कोड का उपयोग करता है? – pilcrow
लिनक्स/पारिस्क, कुछ एचपी-यूएक्स, कुछ अन्य पुराने यूनिट .. यही Google शो दिखाता है, मुझे और नहीं पता। बस दोनों का उपयोग करें, अगर वे समान हैं तो संकलक खुशी से इसे अनुकूलित करेगा। –
सबसे हालिया EAGAIN की तरह दिखता है! = EWOULDBLOCK ओएस रिलीज 2002 के बारे में है। धन्यवाद। – pilcrow
कुछ कोड पुराने रिलीज पर भी काम करना चाहिए। मैं ओएस/2 के कुछ मौजूदा उपयोगकर्ताओं को जानता हूं (नॉनस्टेशन नहीं, बल्कि मूल ओएस/2, 2001 में जारी अंतिम संस्करण)। जैसे आर्क पोर्टेबल पुस्तकालय; फ़ायरफ़ॉक्स 3.5 ओएस/2 को भी पोर्ट किया गया था, – osgx