[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5006DD6B.3030300@pu-pm.univ-fcomte.fr>
Date: Wed, 18 Jul 2012 17:59:39 +0200
From: Eugen Dedu <Eugen.Dedu@...pm.univ-fcomte.fr>
To: linux-kernel@...r.kernel.org
Subject: Re: getsockopt/setsockopt with SO_RCVBUF and SO_SNDBUF "non-standard"
behaviour
Any idea?
On 17/07/12 11:27, Eugen Dedu wrote:
> Hi all,
>
> I looked on Internet and at the old thread
> http://lkml.indiana.edu/hypermail/linux/kernel/0108.0/0275.html, but the
> issue is still not settled as far as I see.
>
> I need to have the highest memory available for snd/rcv buffer and I
> need to know/confirm how much it allocated for my process (how much I
> can use).
>
> So with Linux we need to do something like:
> setsockopt (..., SO_RCVBUF, 256000, ...)
> getsockopt (..., SO_RCVBUF, &i, ...)
> i /= 2;
>
> where i is the size I am looking for.
>
> Now, to make this code work for other OSes it should be changed to:
> setsockopt (..., SO_RCVBUF, 256000, ...)
> getsockopt (..., SO_RCVBUF, &i, ...)
> #ifdef LINUX
> i /= 2;
> #endif
>
> First question, is this code correct? If not, what code gives the amount
> of memory useable for my process?
>
> Second, it seems to me that linux is definitely "non-standard" here.
> Saying that linux uses twice as memory has nothing to do with that,
> since getsockopt should return what the application can count on, not
> what is the internal use. It is like a hypothetical malloc (10) would
> return not 10, but 20 (including meta-information). Is that right?
>
> Cheers,
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists