Вопрос: инициализированы объекты pthread_mutex_t kernel persistent? - проблема для Linux V 2.6.Являются ли инициализированные ядра pthread_mutex_t постоянными?
Мотивация: Если постоянный: объекты ресурсы не будут выпускаться с конкретной очисткой, pthread_mutex_destroy
В практическом плане кодирования это означает, что объект мьютекса будет сохраняться после созданием выхода из программы или не прерывается без очистки, если pthread_mutex_destroy
называется. У меня есть код, который обычно удаляется с помощью отвратительной управляющей программы, , которая использует kill -9
, SIGKILL, после попытки kill -15
(SIGTERM). Дизайн программы не изменится, это код поставщика. Нет никакого способа, чтобы изменить его базовое поведение. Правильная очистка кода часто занимает больше времени, чем нравится демона управления , поэтому «zap» выполняет этот процесс. Это происходит часто.
https://www.kernel.org/doc/Documentation/mutex-design.txt От Инго Молнар
[это старше материал, который говорит «да», Спин-блокировки режима ядра объекта]
'структура мьютекса это новый тип взаимной блокировки, определенные в включают/Linux /mutex.h и реализованы в kernel/locking/mutex.c. Это мьютекс на основе счетчика с спин-блокировкой и списком ожидания. Счетчик имеет 3 состояния: 1 для «разблокировано», 0 для «заблокировано» и отрицательные числа (обычно -1) для «заблокированных, потенциальных официантов в очереди».
http://man7.org/linux/man-pages/man2/execve.2.html имеет:
- Все, кроме вызывающего потока нити разрушаются во время execve(). Мьютексы, переменные условия и другие pthreads объекты не сохраняются.
Таким образом, при вызове одного из exec() семейство не является способом определения стойкости.
http://man7.org/linux/man-pages/man3/exit.3.html ничего не сказал о мьютексе один так или иначе.
Может ли кто-нибудь указать мне окончательный код или документацию так или иначе? Мне нужно противостоять нашему поставщику чем-то прочным.
Задайте себе вопрос: может ли какая-либо проблема, которую вы предполагаете, использовать двенадцатилетним ребенком, чтобы написать тривиальную атаку DOS на сервер Linux? Если это так, то проблема, вероятно, не существует. –
Да, но продавцу 11 лет. (юмор). Если то, что вы говорите, истинно, тогда покажите мне все, о чем я прошу. –
Документация mutex, которую вы ищете, предназначена для внутреннего использования ядра (между компонентами ядра и модулями). Это не имеет никакого отношения к мьютексам pthread. Это может быть источником вашей путаницы. –