Я думаю, вам нужно сохранить номер в куче. Переменная int ret
была в стеке и была уничтожена в конце выполнения функции myThread
.
void *myThread()
{
int *ret = malloc(sizeof(int));
if (ret == NULL) {
// ...
}
*ret = 42;
pthread_exit(ret);
}
Не забудьте free
, когда она вам не понадобится :)
Другое решение - вернуть число в качестве значения указателя, например, предлагает Neil Butterworth.
Возможно, ваша виртуальная машина имеет правило iptables
, запрещающее трафику входить в порт 5984
. Попробуйте открыть с помощью следующей команды:
iptables -I INPUT -p tcp -m tcp --dport 5984 -j ACCEPT
Если он все еще не работает, попробуйте отключить службу firewalld
:
service firewalld stop