एक मनमानी फ़ाइल डिस्क्रिप्टर को देखते हुए, क्या मैं इसे अवरुद्ध कर सकता हूं अगर यह अवरुद्ध हो रहा है? यदि हां, तो कैसे?सी में, फ़ाइल डिस्क्रिप्टर अवरुद्ध करने के लिए कैसे?
9
A
उत्तर
11
कुछ समय हो गया के बाद से मैं सी के साथ खेला जाता है, लेकिन आप fcntl() समारोह इस्तेमाल कर सकते हैं एक फ़ाइल वर्णनकर्ता के झंडे को बदलने के लिए:
#include <unistd.h>
#include <fcntl.h>
// Save the existing flags
saved_flags = fcntl(fd, F_GETFL);
// Set the new flags with O_NONBLOCK masked out
fcntl(fd, F_SETFL, saved_flags & ~O_NONBLOCK);
7
मैं बस गैर की स्थापना O_NONBLOCK
झंडा वापस लौटने चाहिए उम्मीद करेंगे डिफ़ॉल्ट मोड में फ़ाइल डिस्क्रिप्टर, जो अवरुद्ध है:
/* Makes the given file descriptor non-blocking.
* Returns 1 on success, 0 on failure.
*/
int make_blocking(int fd)
{
int flags;
flags = fcntl(fd, F_GETFL, 0);
if(flags == -1) /* Failed? */
return 0;
/* Clear the blocking flag. */
flags &= ~O_NONBLOCK;
return fcntl(fd, F_SETFL, flags) != -1;
}
संबंधित मुद्दे
- 1. फ़ाइल डिस्क्रिप्टर
- 2. सी सभी खुली फ़ाइल डिस्क्रिप्टर
- 3. सॉकेट डिस्क्रिप्टर बनाम फ़ाइल डिस्क्रिप्टर
- 4. अवरुद्ध करने के लिए - अवरुद्ध नाली() विधियों
- 5. एक ही फ़ाइल में एकाधिक फ़ाइल डिस्क्रिप्टर, सी
- 6. अंतर्निहित फ़ाइल डिस्क्रिप्टर
- 7. दो फ़ाइल डिस्क्रिप्टर एक ही फ़ाइल में
- 8. थ्रेड और फ़ाइल डिस्क्रिप्टर
- 9. सॉकेट और फ़ाइल डिस्क्रिप्टर
- 10. बैश में फ़ाइल डिस्क्रिप्टर को इंगित करने के लिए एक चर का उपयोग कैसे करें?
- 11. सी ++ जावा के अवरुद्ध करने के लिए समतुल्य
- 12. ओपन फाइल के फ़ाइल डिस्क्रिप्टर तक कैसे पहुंचे
- 13. fdopen बुला: खराब फ़ाइल डिस्क्रिप्टर
- 14. गैर-अवरुद्ध फ़ाइल
- 15. डुप्लिकेट फ़ाइल डिस्क्रिप्टर अपनी फ़ाइल ऑफ़सेट
- 16. सी # में फ़ाइल निष्पादित करने के लिए कैसे करें?
- 17. फ़ाइल डिस्क्रिप्टर से नाम बदलें?
- 18. पाइथन में फ़ाइल डिस्क्रिप्टर को मूल न्यूलाइन वर्ण कैसे लिखें?
- 19. सी # में अस्थायी फ़ाइल (लिखने के लिए) कैसे बनाएं?
- 20. लागू करने के लिए कैसे अवरुद्ध POSIX धागे
- 21. विभिन्न प्रक्रियाओं के बीच फ़ाइल डिस्क्रिप्टर को पास करने के लिए पोर्टेबल तरीका
- 22. फ़ाइल फ़ाइल डिस्क्रिप्टर से फ़ाइल फ़ाइल निकालें या FILE *
- 23. फ़ाइल डिस्क्रिप्टर और फ़ाइल पॉइंटर के बीच क्या अंतर है?
- 24. क्या फॉपेन फ़ाइल डिस्क्रिप्टर बनाता है?
- 25. यह निर्धारित करने के लिए कि कोई फ़ाइल डिस्क्रिप्टर खोजने योग्य है या नहीं?
- 26. बैश डबल प्रोसेस प्रतिस्थापन खराब फ़ाइल डिस्क्रिप्टर
- 27. सी # थ्रेडिंग और अवरुद्ध
- 28. नियमित अंतराल पर एक गैर अवरुद्ध सी # विधि निष्पादित करने के लिए कैसे?
- 29. ऑब्जेक्ट डिटेक्शन के लिए HOG डिस्क्रिप्टर
- 30. मेमोरी में बफर के फाइल डिस्क्रिप्टर को कैसे प्राप्त करें?
हाँ, यह स्वीकार्य विधि है। अच्छा जवाब और अच्छा, ~ O_NONBLOCK के साथ fcntl करने के लिए terse दृष्टिकोण। :) – BobbyShaftoe