Что такое ошибка 22 от setsockopt?

У меня есть следующий код, который возвращает номер ошибки 22. Я нигде не могу узнать, к чему относится 22, может ли кто-нибудь указать, где я могу это узнать?

  if (setsockopt(sock, IPPROTO_TCP, TCP_NODELAY,
                 (char *)&arg, sizeof(arg)) < 0) {
    log.debug("unable to setsockopt TCP_NODELAY: %d", errorNumber());
    return false;
  }

person fredley    schedule 26.04.2012    source источник


Ответы (2)


Он определен в errno.h или где-то рядом с ним. Я бы предположил, что это EINVAL, но это действительно зависит от реализации. Вы должны проверять возвращаемые значения с кодом ошибки, а не с числовым значением.

person littleadv    schedule 26.04.2012

Это зависит от системы.

Используйте, например. strerror(3), strerror_r(3) или perror(3), чтобы увидеть описание ошибки.

person Tomek Szpakowicz    schedule 26.04.2012