2014-01-16 4 views
0

При использовании api getpwnam_r() для извлечения userinfo, эта api вызывает библиотеку квеста (libvas.so.2) внутри. В многопоточной среде моя программа сбрасывает ядро. Являются ли библиотеки Quest потокобезопасными?Являются ли библиотеки Quest (службы проверки подлинности Quest) безопасными потоками?

+0

Не могли бы вы рассказать нам немного больше о библиотеке квеста, поскольку google для него ничего не делает, а также «libvas.so.2». – nos

+0

Вы можете использовать эту ссылку для получения дополнительной информации: http://technet.microsoft.com/en-us/library/bb463156.aspx – Cyclops

ответ

0

Согласно this link to IBM's documentation, getpwnam_r() является потокобезопасным, хотя я не мог сказать вам, использует ли он реализацию библиотеки Quest.

Вы проверили дамп ядра и уверены, что проблема связана с безопасностью потоков для этой функции? Вы могли бы попытаться выполнить эту функцию, возможно, и запустить в многопоточной среде, чтобы проверить, не вызывает ли это проблема.

+1

Я запустил простую утилиту, которая извлекает идентификатор пользователя из нескольких мест в нескольких потоках и минута есть параллельные запросы к библиотекам Quest, он сбрасывает ядро. Я сделал некоторые исследования самостоятельно и с помощью этой ссылки: http://technet.microsoft.com/en-us/library/bb463156.aspx. Я уверен, что getpwnam_r является потокобезопасным, поскольку я назвал этот api в среде, которая не использует проверку подлинности Quest, и она не сбрасывала ядро, но это делалось в среде с библиотеками Quest VAS для аутентификации. Итак, теперь я уверен, что библиотеки VAS Quest не являются потокобезопасными. – Cyclops

Смежные вопросы