zmq_ctx_destroy зависает - как решить? - PullRequest
0 голосов
/ 30 января 2020

Новый пользователь zeromq здесь. У меня есть система PUB-SUB, и раньше она работала нормально. Я немного реорганизовал код, и приложение зависло при уничтожении контекста:

zmq_close(subscriberSocket);
zmq_ctx_destroy(context); // freezes here

Я закрыл subscriberSocket, поэтому возможно, что он либо еще не закрыт, либо если есть еще один открытый сокет?

Я нашел это обсуждение , и оно предлагает установить ZMQ_LINGER. Итак, я добавил эту строку перед созданием сокета:

int size = 0;
zmq_setsockopt(subscriberSocket, ZMQ_LINGER, &size, sizeof(int));

Однако, это все еще не работает.

Как я должен проверить, что происходит, например, проверить блокирующие сокеты, и заставить их закрыть?

Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.

...