Skip to content

Commit

Permalink
mxqd: Reformulate server_is_qualified
Browse files Browse the repository at this point in the history
Reformulate server_is_qualified to make it (IMO) easier to understand
and easier to expand.
  • Loading branch information
donald committed Apr 19, 2020
1 parent 4761df0 commit 1b3faf5
Showing 1 changed file with 11 additions and 17 deletions.
28 changes: 11 additions & 17 deletions mxqd.c
Original file line number Diff line number Diff line change
Expand Up @@ -1405,29 +1405,23 @@ unsigned long start_job(struct mxq_group_list *glist)

static int server_is_qualified(struct mxq_server *server, struct mxq_group *group) {

int is_qualified;
/* server in exclusive mode and no whitelist on group ? */
if ( server->daemon.daemon_flags && *group->group_whitelist == 0 )
return 0;

if (*group->group_whitelist != 0) {
is_qualified = 0;
struct keywordset *kws = keywordset_new(group->group_whitelist);
if ( keywordset_ismember(kws, server->hostname_short)
|| keywordset_ismember(kws, server->hostname) )
is_qualified = 1;
keywordset_free(kws);
} else {
if (server->daemon.daemon_flags)
return 0; // exclusive
is_qualified = 1;
_mx_cleanup_(keywordset_free_byref) struct keywordset *kws = keywordset_new(group->group_whitelist);
if (! (keywordset_ismember(kws, server->hostname_short) || keywordset_ismember(kws, server->hostname)))
return 0;
}

if (*group->group_blacklist != 0) {
struct keywordset *kws = keywordset_new(group->group_blacklist);
if ( keywordset_ismember(kws, server->hostname_short)
|| keywordset_ismember(kws, server->hostname) )
is_qualified = 0;
keywordset_free(kws);
_mx_cleanup_(keywordset_free_byref) struct keywordset *kws = keywordset_new(group->group_whitelist);
if (keywordset_ismember(kws, server->hostname_short) || keywordset_ismember(kws, server->hostname))
return 0;
}
return (is_qualified);

return (1);
}

static int server_is_qualified_cached(struct mxq_server *server, struct mxq_group_list *glist) {
Expand Down

0 comments on commit 1b3faf5

Please sign in to comment.