Search squid archive

Re: tcp_outgoing_tos doesn't work in 3.2?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jan 04, 2013 at 07:36:35AM +0000, Andrew Beverley wrote:
> On Fri, 2013-01-04 at 06:31 +0200, John Hay wrote:
> > Looking at a linux man page:
> > 
> > http://linux.die.net/man/2/setsockopt
> > 
> > I see the same kind of text:
> > 
> > Most socket-level options utilize an int argument for optval. For
> > setsockopt(), the argument should be nonzero to enable a boolean option,
> > or zero if the option is to be disabled. 
> 
> Ah, interesting, I have to admit that I didn't read the Linux man page.
> 
> > So maybe it is just luck that the current code does work and all of them
> > actually expects it in an int. :-)
> 
> That said, when I was searching the BSD options, I did read somewhere
> that Linux started accepting a char value after a certain kernel
> version.
> 
> >  I think it started because of hysterical raisins, from the days before
> > function prototypes, but even the examples in recentish rfcs (3493 and
> > 3542) that describe IPv6 usage, use an int in all their examples that
> > will fit in an int. Also a plain int is used and not a int32, probably
> > because a native int is assumed to be the most efficient size.
> 
> Interesting - maybe I should have kept it as an int all along :)

Rereading my own paragraph, maybe an extra comment. What I meant with most
efficient size, was going through the setsockopt call. If you want to store
many of these in an array, a char will be the most space efficient, but
going through the setsockopt() call, a char will not give you any advantage,
if you look at how processors do register and stack operations.

John
-- 
John Hay -- jhay@xxxxxxxxxxxxxxxxx / jhay@xxxxxxxxxxx


[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux