[libvirt] [PATCH v2 1/3] util: Add virProcessSetScheduler() function for scheduler settings
Michal Privoznik
mprivozn at redhat.com
Thu Feb 12 08:14:29 UTC 2015
On 11.02.2015 18:34, Eric Blake wrote:
> On 02/11/2015 07:04 AM, Michal Privoznik wrote:
>> On 10.02.2015 16:35, Martin Kletzander wrote:
>>> <snip/>
>>> +
>>> +typedef enum {
>>> + VIR_PROC_POLICY_NONE,
>>> + VIR_PROC_POLICY_BATCH,
>>> + VIR_PROC_POLICY_IDLE,
>>> + VIR_PROC_POLICY_FIFO,
>>> + VIR_PROC_POLICY_RR,
>>> +
>>> + VIR_PROC_POLICY_LAST
>>> +} virProcessSchedPolicy;
>
> The C language guarantees that VIR_PROC_POLICY_NONE == 0, and that
> VIR_PROC_POLICY_BATCH == (VIR_PROC_POLICY_NONE + 1). That is, C
> guarantees that an initial enum not otherwise initialized is 0, and that
> all subsequent enums not otherwise initialized are one more than the
> previous value (whether or not the previous value was explicitly
> initialized). So the code you questioned is safe as-is.
>
So in other words, we don't need zero 'initialization' in enums? So for
instance the following (taken from daemon/libvirtd.c:122):
enum {
VIR_DAEMON_ERR_NONE = 0,
/* snip */
};
is the same as
enum {
VIR_DAEMON_ERR_NONE,
/* snip */
};
If it is so, is it worth bothering with cleanup patch(es)? There's
roughly 250 occurrences in the code:
$ git grep "[A-Z]\+ = 0" | wc -l
268
Michal
More information about the libvir-list
mailing list