mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-21 22:01:31 +02:00
MINOR: receiver: reserve special values for "shards"
Instead of artificially setting the shards count to MAX_THREAD when "by-thread" is used, let's reserve special values for symbolic names so that we can add more in the future. For now we use value -1 for "by-thread", which requires to turn the type to signed int but it was already used as such everywhere anyway.
This commit is contained in:
parent
53fc98c3bc
commit
d30e82b9f0
@ -50,7 +50,7 @@ struct rx_settings {
|
|||||||
char *interface; /* interface name or NULL */
|
char *interface; /* interface name or NULL */
|
||||||
const struct netns_entry *netns; /* network namespace of the listener*/
|
const struct netns_entry *netns; /* network namespace of the listener*/
|
||||||
unsigned int options; /* receiver options (RX_O_*) */
|
unsigned int options; /* receiver options (RX_O_*) */
|
||||||
uint shards; /* number of shards */
|
int shards; /* number of shards, 0=not set yet, -1="by-thread" */
|
||||||
};
|
};
|
||||||
|
|
||||||
/* This describes a receiver with all its characteristics (address, options, etc) */
|
/* This describes a receiver with all its characteristics (address, options, etc) */
|
||||||
|
@ -2972,6 +2972,10 @@ init_proxies_list_stage1:
|
|||||||
shards = bind_conf->settings.shards;
|
shards = bind_conf->settings.shards;
|
||||||
todo = thread_set_count(&bind_conf->thread_set);
|
todo = thread_set_count(&bind_conf->thread_set);
|
||||||
|
|
||||||
|
/* special values: -1 = "by-thread" */
|
||||||
|
if (shards == -1)
|
||||||
|
shards = todo;
|
||||||
|
|
||||||
/* no more shards than total threads */
|
/* no more shards than total threads */
|
||||||
if (shards > todo)
|
if (shards > todo)
|
||||||
shards = todo;
|
shards = todo;
|
||||||
|
@ -1865,7 +1865,7 @@ static int bind_parse_shards(char **args, int cur_arg, struct proxy *px, struct
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (strcmp(args[cur_arg + 1], "by-thread") == 0) {
|
if (strcmp(args[cur_arg + 1], "by-thread") == 0) {
|
||||||
val = MAX_THREADS; /* will be trimmed later anyway */
|
val = -1; /* -1 = "by-thread", will be fixed in check_config_validity() */
|
||||||
} else {
|
} else {
|
||||||
val = atol(args[cur_arg + 1]);
|
val = atol(args[cur_arg + 1]);
|
||||||
if (val < 1 || val > MAX_THREADS) {
|
if (val < 1 || val > MAX_THREADS) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user