У меня есть RPC-сервер и RPC-клиент.Создаю безопасный ключ на стороне клиента с помощью чипа TPM1.2.Когда я запускаю свою программу несколько раз, все работает нормально.Но когда я запускаю много раз, ключ не генерируется из-за какой-то проблемы - это функция send_1.Внутри send_1 () код выглядит следующим образом:
struct timeval TIMEOUT = {25, 0};
memset((char *)&clnt_res, 0, sizeof(clnt_res));
if (clnt_call (clnt, SEND,
(xdrproc_t) xdr_tClnt_Gbl, (caddr_t) argp,
(xdrproc_t) xdr_rpc_clnt_ret, (caddr_t) &clnt_res,
TIMEOUT) != RPC_SUCCESS) {
return (NULL);
}
return (&clnt_res);
Когда я много раз вызываю send_1 () во время генерации ключа, он возвращаетсяNULL в течение нескольких раз.Если я звоню 100 раз, то иногда он возвращает NULL 4 раза, а иногда возвращает NULL 2-3 раза.Есть ли предел для вызова send_1 или clnt_call ()?Или это из-за TIMEOUT ??