The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"В Windows 10 продемонстрирован запуск рабочих столов Linux"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Заметили полезную информацию ? Пожалуйста добавьте в FAQ на WIKI.
. "В Windows 10 продемонстрирован запуск рабочих столов Linux п..." +1 +/
Сообщение от Orduemail (ok), 11-Июл-16, 15:17 
> почему например понадобилось unix-сокеты исключать из работы dBus?

В венде есть два катастрофических косяка API, которые делают крайне сложным портирование *nix-программ в венду. Во-первых, это CreateProcess, который объединяет в себе fork+exec, причём очень специальным образом объединяет. А во-вторых -- это неприятие принципа "всё есть файл". И это "во-вторых" скорее всего и явилось причиной.

В *nix есть обобщённые файловые дескрипторы, которые могут ссылаться на что угодно при этом все берутся из одного "пространства". В венде же вместо файловых дескрипторов есть HANDLE, хэндлы сокетов и открытых файлов различаются посредством статической типизации, а динамически их приложение различить не может. Вполне возможна ситуация, когда открытый файл и сокет имеют одинаковые значения хэндлов. До тех пор пока эти хэндлы пихаются в разные функции, всё нормально. Но если перепутать... win9x умирала на этом. nt, я думаю, будет предлагать отправку майкрософту отчёта об ошибке.

Этот архитектурный вендокосяк всегда вымораживал при попытке портировать что-либо в венду. И, я предположу, что именно он приводит к тому, что dBus не умеет в unix-сокеты. dBus вынужден выбирать либо сокеты, либо файлы.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
В Windows 10 продемонстрирован запуск рабочих столов Linux, opennews, 10-Июл-16, 23:55  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру