Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допустившего появление проблем в пользовательском ПО

29 декабря 2012 года

После выхода Linux 3.8-rc1 стали поступать жалобы пользователей о зависании PulseAudio при использовании нового тестового выпуска ядра. Проблема стала появляться из-за использования в ioctl uvc_* кода ошибки "-ENOENT", вместо "-EINVAL". Mauro Carvalho Chehab, мэйнтейнер подсистемы V4L2, указал на то, что проблема скорее всего является следствием ошибки в PulseAudio, так как программа не поддерживает обработку кодов ошибок, отличных от "-EINVAL". Mauro также упомянул, что непонятно зачем звуковой сервер пытается использовать V4L2 функции uvc_ctrl (USB video device), которые предназначены для иных целей (управление видеоустройством, таким как web-камера). Поэтому, по мнению Mauro, данную проблему следует решать в PulseAudio и она не является регрессивным изменением в ядре.

В ответ на подобные заявления, Линус Торвальдс в достаточно грубой форме устроил мэйнтейнеру показательную "порку", подчеркнув, что главным правилом разработки ядра является недопустимость нарушения работы компонентов на стороне пользователя. Линус упомянул, что ему отдельно поступила жалоба на нарушение работы мультимедийных компонентов KDE при использовании ядра 3.8-rc1 и он страшно недоволен тем, что патч с решением проблемы был отправлен сторонним разработчиком и он сам был вынужден внести его в ядро, в то время как ответственный за проблемный код мэйнтейнер пустился в дискуссии о том, что это не проблема ядра.

По словам Линуса, если какое-то изменение в ядре приводит к нарушению работы пользовательских приложений, то это сразу следует воспринимать как ошибку в ядре. По поводу изменения кода возврата Линус указал на то, что ошибка в коде ядра налицо, так как код ENOENT неприменим в ioctl для управления уже открытыми файлами, он ассоциируется только с манипуляцией с путями и всегда означал отсутствие искомого файла или директории.

Источники править

 
 
Creative Commons
Эта статья содержит материалы из статьи «Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допустившего появление проблем в пользовательском ПО», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.