(2016-01-20 16:19:29 отредактировано sigatron)

Большая нагрзука на процессор после GrdUnRegisterDongleNotification

Здравствуйте!

Использую Java API, версия SDK 7.0.286.0, OS Windows 8.1 x64. Использую библиотеку GrdApiJni64.dll из последнего SDK (SHA-1 2fbdbfa36f3b9aaaec3a0090813e7b52614f8acb).

Проблема заключается в использовании Notification API.
Очередность действий:
1. Инициализирую API.
2. Ищу ключ, если найден - логинюсь на нем через GrdLogin()
3. Регистрирую notification через GrdRegisterDongleNotification()
4. ...
5. Ключ вынимается, приходит сообщение в нотификатор.
6. Делаю GrdUnRegisterDongleNotification(), затем GrdLogout()
7. Процессор молотит 100% на одном ядре.

При попытке еще раз извлечь и вставить ключ (пункты 2-6) - рождается еще один Native поток (вижу через профайлер), который занимает уже и второе ядро. При вставке ключа потоки эти не уменьшают свою бешеную активность. И так до бесконечности. Вставляться может как один ключ, так и несколько (до 6) поочередно.

Вопрос: что я делаю не так?
Дополнительно: нужно ли каждый раз после вставки ключа делать GrdRegisterDongleNotification()? Если я делаю это один раз (при первой вставке ключа, так как без GrdLogin() мне это сделать не получится), то GrdNotifyMessage.DongleRemoved приходит далеко не всегда, читай: "не работает".

Прикрепил скриншот, где видны потоки. Момент их рождения совпадает с моментом вызова GrdUnRegisterDongleNotification(), то есть ключ извлекался три раза на примере.

При необходимости могу написать пример (на Java) или предоставить иные дополнительные данные.

С уважением,
Георгий.

Re: Большая нагрзука на процессор после GrdUnRegisterDongleNotification

Здравствуйте!
Если есть возможность, пришлите нам на почту hotline@guardant.ru тестовый пример, где проявляется такое поведение.
Мы передадим эту информацию нашим разработчикам.

Re: Большая нагрзука на процессор после GrdUnRegisterDongleNotification

Для тех, кто также сталкивался с подобным: проблема действительно имеет место. Общались по e-mail с техподдержкой, ошибка в библиотеке GrdApiJni??.dll (по моему мнению), к следующему релизу обещали поправить.