Size: a a a

2020 September 07

OF

Otto Faust in Kolibri OS
Я могу написать костыль на си. Думаю это даже будет работать
источник

OF

Otto Faust in Kolibri OS
Но нужно ли это
источник

RR

Rigidus Rigidus in Kolibri OS
Нет, не совсем.

Просто шелл когда делает форк - таблица открытых файлов наследуется

Если перед форком шелл переопределил таблицу, то запускаемая программа получит свои 0 и 1 дескрипторы (stdin и stdout)
источник

D

Den in Kolibri OS
Создавай костыль, а уж потом в будущем можно будет убрать если Рустем сможет перенести на асм
источник

RR

Rigidus Rigidus in Kolibri OS
Den
Создавай костыль, а уж потом в будущем можно будет убрать если Рустем сможет перенести на асм
Может я попробую, если Рустем проверит
источник

IB

Ivan Baravy in Kolibri OS
> возврат из главной функции процесса должен приводить к завершению всех потоков процесса, а не только главного. Конфликтует с текущей реализацией консоли, поэтому окно консоли надо выносить в отдельный процесс - заодно позволит сделать консоль, разделяемую между несколькими процессами

http://board.kolibrios.org/viewtopic.php?t=1839&p=74337#p69674
источник

RR

Rigidus Rigidus in Kolibri OS
Ivan Baravy
> возврат из главной функции процесса должен приводить к завершению всех потоков процесса, а не только главного. Конфликтует с текущей реализацией консоли, поэтому окно консоли надо выносить в отдельный процесс - заодно позволит сделать консоль, разделяемую между несколькими процессами

http://board.kolibrios.org/viewtopic.php?t=1839&p=74337#p69674
Не очень понимаю "окно консоли". А что если у меня в одном окне несколько консолей (в табах например или оконных фреймах)?
источник

IB

Ivan Baravy in Kolibri OS
то ты не в колибри
источник

RR

Rigidus Rigidus in Kolibri OS
просто есть всякие мультитерминалы - интересно было бы написать такое для колибри например
источник

RG

R G in Kolibri OS
Ivan Baravy
> возврат из главной функции процесса должен приводить к завершению всех потоков процесса, а не только главного. Конфликтует с текущей реализацией консоли, поэтому окно консоли надо выносить в отдельный процесс - заодно позволит сделать консоль, разделяемую между несколькими процессами

http://board.kolibrios.org/viewtopic.php?t=1839&p=74337#p69674
а, понял. То есть если сделать так что при ретурне из мейна закрывается весь процесс, то захлопнется и консоль?
источник

RG

R G in Kolibri OS
логично
источник

RG

R G in Kolibri OS
т.к кофф либа в адресное пространство процесса же грузится
источник

RG

R G in Kolibri OS
Кстати, Иван, coff библиотеки разделяемые ? То есть при каждой загрузке одной и той же coff либы разными процессами новая память еще раз не выделяется?
источник

IB

Ivan Baravy in Kolibri OS
разделяемые
источник

RG

R G in Kolibri OS
понятно, значит в первый раз под coff либу выделится физическая память, а при последующих загрузках она будет просто маппиться в вирт адресное пространство других процессов
источник

RG

R G in Kolibri OS
Ivan Baravy
> возврат из главной функции процесса должен приводить к завершению всех потоков процесса, а не только главного. Конфликтует с текущей реализацией консоли, поэтому окно консоли надо выносить в отдельный процесс - заодно позволит сделать консоль, разделяемую между несколькими процессами

http://board.kolibrios.org/viewtopic.php?t=1839&p=74337#p69674
кстати что в винде что в линухе сам эмулятор терминала в отдельном процессе. conhost.exe и всякие xterm и тд
источник

RG

R G in Kolibri OS
но и в винде и в линухе стандартный ввод-вывод для программ доступен через апи ядра, а не юзермод либу
источник

RG

R G in Kolibri OS
кстати, еще одной проблемой является отсутствие дескрипторов при работе с файлами. Без них непонятно, каким образом можно будет реализовывать например progra.kex > myfile.txt
источник

IB

Ivan Baravy in Kolibri OS
источник

IB

Ivan Baravy in Kolibri OS
тема не новая, героев почти нет
с 2011 года только CleverMouse USB сделала
источник