Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 27 Dec 2020 18:00:39 +0000
From:      Steve O'Hara-Smith <steve@sohara.org>
To:        Rahul Bharadwaj <rahulbharadwajpromos@gmail.com>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: What does =?UTF-8?B?4oCcTm8gYW5vZGXigJ0=?= mean in errno 55 when socket connection fails?
Message-ID:  <20201227180039.b789620029802222e1add768@sohara.org>
In-Reply-To: <CADotuvv-csH5L2E5OGkLTNOVJ2KYeU6q9Fp_n1Y%2BFwfiiJCPQA@mail.gmail.com>
References:  <CADotuvv-csH5L2E5OGkLTNOVJ2KYeU6q9Fp_n1Y%2BFwfiiJCPQA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 27 Dec 2020 23:03:17 +0530
Rahul Bharadwaj <rahulbharadwajpromos@gmail.com> wrote:

> I was doing a few performance tests on a local server and once in a while
> I hit an error where opening a socket connection fails.
> 
> i.e. considering the simplest code:
> 
> #include <errno.h>
> #include <sys/socket.h>
> 
> int main() {
>     /* code to create socket object */
> 
>     int ret = connect(sock, (struct sockaddr *)&serv_addr,
> sizeof(serv_addr));
>     if (ret < 0) {
>         fprintf(stderr, "connect() failed with: %d\n", errno); // <----
> *get errno as 55*
>         exit(1);
>     }
>     /* other code */
> }
> 
> There is no explanation for this error number "55". In every place, the
> only mention is "No anode". There is no mention of what "anode" means and
> what "No anode" specifically means.

	I have no idea where you got that "No anode" from, let alone what
it means (no inode I could perhaps understand but not in this context). For
many things (including this) the best documentation is in the man pages
that are on the system.

> Can someone please help me with what this errno means or point me to some
> documentation explaining the same.

man errno

	Is where you will find the error numbers described in some detail,
the entry for error number 55 is:

-------------------------------------------
     55 ENOBUFS No buffer space available. An operation on a socket or pipe
             was not performed because the system lacked sufficient buffer
             space or because a queue was full.
-------------------------------------------

	There is an enormous amount of documentation in the man pages, it's
almost all reference style documentation which makes figuring out where to
look harder than it should be (man -k <keyword> for keyword searches helps
somewhat) - OTOH nobody has found a good solution to that in all the
decades I've been using unices.

-- 
Steve O'Hara-Smith <steve@sohara.org>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20201227180039.b789620029802222e1add768>