flock()
में झुंड() का उपयोग आमतौर पर एसिंक-सिग्नल-सुरक्षित है क्योंकि यह एक सिस्टम कॉल है। इसके अर्थशास्त्र इसे अलग-अलग कार्यान्वित करना कठिन बनाते हैं। यह POSIX के list में एसिंक-सिग्नल-सुरक्षित फ़ंक्शंस में नहीं है क्योंकि यह POSIX में बिल्कुल नहीं है।सिग्नेशन हैंडलर
क्या बिना किसी समस्या के सिग्नेशन हैंडलर में flock()
का उपयोग करना संभव है?
मैक ओएस एक्स 'झुंड के लिए दस्तावेज़()' किसी भी प्रत्यक्ष मदद नहीं देता है। उपयोगकर्ता-अंतरिक्ष संरचनाओं के साथ 'झुंड()' गड़बड़ी का अनुमान लगाने का कोई कारण नहीं है, इसलिए यह सोचने का हर कारण है कि यह एसिंक-सिग्नल-सुरक्षित होगा, लेकिन यह निर्णायक नहीं है। 'Fcntl() 'फ़ंक्शन, जो POSIX लॉकिंग सिस्टम कॉल है, एसिंक-सिग्नल-सुरक्षित है, जो इस दृश्य का समर्थन करता है कि' झुंड() 'लागू किया जा सकता है, इसलिए यह एसिंक-सिग्नल-सुरक्षित है, लेकिन यह अभी भी सबूत नहीं है । शायद आपको 'fcntl()' का उपयोग करने के लिए अपग्रेड करना चाहिए, और फिर आपको पता चलेगा कि आप सुरक्षित हैं। –
@ जोनाथन लेफ्लर सीएनए मैं अनलॉक करने के लिए 'झुंड() 'लॉक और' fcntl()' का उपयोग करता हूं? – MOHAMED
कृपया अपने प्रारंभिक प्रश्न के लिए मेरे अतिरिक्त जवाब देखें: http://stackoverflow.com/a/16979601/694576 – alk