2012-04-18 8 views
8

this e-mail from 2008 को छोड़कर, मुझे V4L2 की थ्रेड सुरक्षा विशेषताओं का कोई उल्लेख नहीं मिला। यह बड़े कर्नेल लॉक के बारे में बात करता है, जो मुझे लगता है कि अब चला गया है, है ना?वी 4 एल 2 कैसे थ्रेड-सुरक्षित है?

क्या किसी के पास इस पर कोई अद्यतन जानकारी है? क्या मैं ioctl (मैं विशेष रूप से VIDIOC_DQBUF और VIDIOC_QBUF) के बारे में सोच रहा हूं) समान वी 4 एल 2 फ़ाइल डिस्क्रिप्टर बिना धारावाहिक के एकाधिक धागे से? ऊपर उल्लिखित चर्चा से संकेत मिलता है कि उत्तर ड्राइवर-निर्भर है, लेकिन मैंने सोचा कि मैं वैसे भी पूछूंगा।

उत्तर

2

विनिर्देश इस बात का उल्लेख नहीं करता है कि वी 4 एल 2 थ्रेड-सुरक्षित है या नहीं। हालांकि ऐसा लगता है कि कुछ कार्यान्वयन वास्तव में धागे सुरक्षित हैं।

POSIX.1-2001 और POSIX.1-2008 की आवश्यकता है कि कुछ विशिष्ट कार्यों को छोड़कर मानक में निर्दिष्ट सभी कार्य थ्रेड-सुरक्षित होंगे। ioctl() उनमें से एक नहीं है, इसलिए यह थ्रेड-सुरक्षित है। हालांकि, ioctl() रद्दीकरण बिंदु है, इसलिए थ्रेड को ioctl() तक पहुंचने के बाद समाप्त किया जा सकता है।

मुझे लगता है कि सही समाधान यह मानना ​​है कि वी 4 एल 2 थ्रेड-सुरक्षित नहीं है और तदनुसार लॉकिंग करें।

+1

धन्यवाद! कुछ बक्षीस अंक है। – gspr

संबंधित मुद्दे