Skip to content

Commit

Permalink
conscience: fix lock status on services load from persistent file
Browse files Browse the repository at this point in the history
  • Loading branch information
openiobot committed Jan 16, 2024
1 parent 57b7f25 commit 6ce53dd
Showing 1 changed file with 22 additions and 19 deletions.
41 changes: 22 additions & 19 deletions cluster/module/server.c
Expand Up @@ -1745,27 +1745,30 @@ restart_srv_from_file(gchar *path)
struct service_tag_s *tag_lock = service_info_get_tag(
si_data->tags, NAME_TAGNAME_LOCK);
if (tag_lock && tag_lock->type == STVT_BOOL && tag_lock->value.b) {
p_srv->put_locked = tag_lock->value.b;
p_srv->get_locked = tag_lock->value.b;
p_srv->get_locked = tag_lock->value.b;
}
/* If the put score was locked, lock it again. */
struct service_tag_s *tag_put_lock = service_info_get_tag(
si_data->tags, NAME_TAGNAME_PUT_LOCK);
if (tag_put_lock) {
service_tag_get_value_boolean(tag_put_lock, &(p_srv->put_locked), &err);
if (err) {
GRID_WARN("Failed to read put lock tag: %s", err->message);
g_clear_error(&err);

/* Otherwise, restore PUT/GET lock independently */
} else {
/* If the put score was locked, lock it again. */
struct service_tag_s *tag_put_lock = service_info_get_tag(
si_data->tags, NAME_TAGNAME_PUT_LOCK);
if (tag_put_lock) {
service_tag_get_value_boolean(tag_put_lock, &(p_srv->put_locked), &err);
if (err) {
GRID_WARN("Failed to read put lock tag: %s", err->message);
g_clear_error(&err);
}
}
}
/* If the get score was locked, lock it again. */
struct service_tag_s *tag_get_lock = service_info_get_tag(
si_data->tags, NAME_TAGNAME_GET_LOCK);
if (tag_get_lock) {
service_tag_get_value_boolean(tag_get_lock, &(p_srv->get_locked), &err);
if (err) {
GRID_WARN("Failed to read get lock tag: %s", err->message);
g_clear_error(&err);
/* If the get score was locked, lock it again. */
struct service_tag_s *tag_get_lock = service_info_get_tag(
si_data->tags, NAME_TAGNAME_GET_LOCK);
if (tag_get_lock) {
service_tag_get_value_boolean(tag_get_lock, &(p_srv->get_locked), &err);
if (err) {
GRID_WARN("Failed to read get lock tag: %s", err->message);
g_clear_error(&err);
}
}
}

Expand Down

0 comments on commit 6ce53dd

Please sign in to comment.