Boost Thread Conific Storage Вопрос (Boost / Thread / TSSHPP)
-
26-09-2019 - |
Вопрос
Библиотека потоков Boost имеет Абстракция для резьбы конкретного (локального) хранения. Отказ Я бросил исходный код, и кажется, что функциональность TSS может использоваться в приложении с любым существующим потоком независимо от погоды, которую он был создан из Boost :: Threade, это подразумевает, что определенные обратные вызовы зарегистрированы в ядре Крюк в функции обратного вызова, которая может вызвать разрушитель любых объектов TSS, когда нить или процесс выходят из приспособления. Я нашел эти обратные вызовы.
Мне нужно кэш HMAC_CTX от OpenSSL внутри рабочих потоков различных веб-серверов (см. это, Подробно, вопрос, вопрос для того, что я пытаюсь сделать), и как таковой я не контролирую время жизни потока - веб-сервер делает. Поэтому я буду использовать функциональность TSS на потоках, не созданных Boost :: Thread.
Я просто хотел подтвердить свои предположения, прежде чем я начал реализовать логику кэширования, есть ли недостатки в моей логике?
Решение
Ты прав. Вы можете использовать его для потоков, не созданных Boost :: Thread. Если вы посмотрите в Test_tss.cpp, вы можете увидеть, что они точно тестируют, и он должен работать как с потоками POSIX, так и с потоками Windows.
Другие советы
Это частично справа, так как деструктор не вызывается, когда основная отделка потока.