Есть ли причина, по которой открытие файла устройства (а не обычного файла) с использованием memmap numpy не должно работать?
self.surface = np.memmap('/dev/fb1', dtype=np.uint16, mode='r+', shape=(320,240))
Я работаю с пользовательским модулем ядра, который добавляет устройство кадрового буфера, которое отлично работает с обычным mmap
модулем Python. Но использование numpy может повредить мьютекс ядра при доступе к файловой системе или что-то в этом роде (я действительно не совсем уверен, что происходит).
Мой вопрос, в частности, заключается в том, что это что-то, что memmap Numpy не может обработать, и я должен пойти другим путем?
Я задал еще один вопрос по unix stackexchange , но мне кажется, что это 2 разных вопроса, поэтому я отправил их оба.
Очевидно, что это в Linux (Kubuntu Maverick с пользовательским модулем ядра)
Обновление
Что ж, получается, что я могу нормально создать memmap. Кажется, что проблема заключается в том, что когда я закрываю процесс без специального закрытия объекта memmap, он просто зависает на мьютексе в ядре.
Понятия не имею, связана ли эта проблема с numpy, или с моим модулем ядра, или где-то еще.