स्थिति:पढ़ने के लिए खोले गए, नॉनब्लॉकिंग नामित पाइप (फीफो) को "अनुपलब्ध" होने के कारण क्या स्थितियां हैं?
new_pipe = os.open(pipe_path, os.O_RDONLY | os.O_NONBLOCK) # pipe_path points to a FIFO
data = os.read(new_pipe, 1024)
पढ़ा कभी कभी errno -11 को जन्म देती है: संसाधन अस्थायी रूप से अनुपलब्ध।
यह त्रुटि कब उठाई गई है? यह बहुत दुर्लभ प्रतीत होता है, क्योंकि आम मामले डेटा लौटाते हैं:
- यदि कोई लेखक पाइप खोला नहीं गया है, तो खाली str ('') वापस आ गया है।
- लेखक पाइप खोला है, लेकिन कोई डेटा फीफो में है, तो खाली str ('') भी
- और हां लेखक फीफो में डेटा डालता है, तो के लिए वापस आ गया तो वह डेटा पढ़ा जाएगा।
के संभावित डुप्लिकेट [sendto: संसाधन अस्थायी रूप से अनुपलब्ध (errno 11)] (http://stackoverflow.com/questions/5737493/ sendto-resource-temporally-अनुपलब्ध-errno-11) – agf
@agf: दूसरा प्रश्न एक प्रेषण त्रुटि के बारे में है, जो ऐसा होता है क्योंकि प्रेषण बफर भरा हुआ है। इस विशेष प्रश्न का कनेक्शन सबसे अच्छा संदिग्ध है, क्योंकि हम यहां यूनिक्स पाइप पढ़ने के बारे में बात कर रहे हैं –
@NiklasB। सवाल निश्चित रूप से समान नहीं है, लेकिन जवाब है। एक डुप्लिकेट के रूप में बंद करने के लिए वोटिंग अन्य प्रश्न से लिंक करने का एक सुविधाजनक तरीका था। और इसे साइडबार के शीर्ष पर लिंक करें। – agf