The OpenNET Project / Index page

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



"Выпуск системы инициализации sysvinit 2.89"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Отдельный RSS теперь доступен для каждого обсуждения в форуме и каждого минипортала.
. "Выпуск системы инициализации sysvinit 2.89" –1 +/
Сообщение от Алексей (??), 05-Апр-18, 19:47 
> https://github.com/spotify/linux/blob/master/kernel/pid.c
> last_pid < 32000 ? last_pid+1 : last_pid = START_OVER; some_scan_for_free_pid
> т.е. процессы, в _одном_ неймспейсе, должны сцапать 32000 идентификаторов, прежде чем  
> появится возможность коллизии.

Я не совсем уверен, что вы имели в виду. Вы хотели сказать, что нужно породить 32000 процессов, прежде чем очередной сможет захватить искомый PID, и потому эту возможность можно проигнорировать, так как это займёт слишком много времени? Ну тогда вы неправы.

Дело в том, что полностью пройти кольцо не так долго, как кажется на первый взгляд: дело в том, что идентификаторы *потоков* берутся всё из того же пула идентификаторов PID (см. /proc/<pid>/task/), поэтому в активно работающей системе с, например, web-сервером достижение предела и переход в начало диапазона идентификаторов не займёт много времени.

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

Оглавление
Выпуск системы инициализации sysvinit 2.89, opennews, 29-Мрт-18, 21:37  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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