Date: Mon, 12 Mar 2018 09:27:07 -0700 From: John Baldwin <jhb@freebsd.org> To: Eugene Grosbein <eugen@grosbein.net> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r330711 - head/sbin/sysctl Message-ID: <2456392.O6IgoD01Hy@ralph.baldwin.cx> In-Reply-To: <5AA3552D.5080203@grosbein.net> References: <201803092337.w29NbJSX093826@repo.freebsd.org> <5AA3552D.5080203@grosbein.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Saturday, March 10, 2018 10:46:53 AM Eugene Grosbein wrote: > 10.03.2018 6:37, John Baldwin wrote: > > > Author: jhb > > Date: Fri Mar 9 23:37:19 2018 > > New Revision: 330711 > > URL: https://svnweb.freebsd.org/changeset/base/330711 > > > > Log: > > Permit sysctl(8) to set an array of numeric values for a single node. > > > > Most sysctl nodes only return a single value, but some nodes return an > > array of values (e.g. kern.cp_time). sysctl(8) understand how to display > > the values of a node that returns multiple values (it prints out each > > numeric value separated by spaces). However, until now sysctl(8) has > > only been able to set sysctl nodes to a single value. This change > > allows sysctl to accept a new value for a numeric sysctl node that contains > > multiple values separated by either spaces or commas. sysctl(8) parses > > this list into an array of values and passes the array as the "new" value > > to sysctl(2). > > Note well: we already have some examples of complex sysctl comma-separated "list" values such as: > > security.mac.portacl.rules=uid:53:tcp:53,uid:53:udp:53 Yes, but those are stored as strings (CTLTYPE_STRING) and require string parsing in the kernel. This permits nodes that just need a flat array of integers to be set without requiring string parsing in the kernel. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2456392.O6IgoD01Hy>