Browse Source

Failure to update subscribe should not be terminal

master
Con Kolivas 10 years ago
parent
commit
eabc96c5e1
  1. 10
      src/stratifier.c

10
src/stratifier.c

@ -801,7 +801,7 @@ static void drop_allclients(ckpool_t *ckp)
ck_wunlock(&instance_lock); ck_wunlock(&instance_lock);
} }
static bool update_subscribe(ckpool_t *ckp) static void update_subscribe(ckpool_t *ckp)
{ {
json_t *val; json_t *val;
char *buf; char *buf;
@ -809,7 +809,8 @@ static bool update_subscribe(ckpool_t *ckp)
buf = send_recv_proc(ckp->generator, "getsubscribe"); buf = send_recv_proc(ckp->generator, "getsubscribe");
if (unlikely(!buf)) { if (unlikely(!buf)) {
LOGWARNING("Failed to get subscribe from generator in update_notify"); LOGWARNING("Failed to get subscribe from generator in update_notify");
return false; drop_allclients(ckp);
return;
} }
LOGDEBUG("Update subscribe: %s", buf); LOGDEBUG("Update subscribe: %s", buf);
val = json_loads(buf, 0, NULL); val = json_loads(buf, 0, NULL);
@ -834,8 +835,6 @@ static bool update_subscribe(ckpool_t *ckp)
json_decref(val); json_decref(val);
drop_allclients(ckp); drop_allclients(ckp);
return true;
} }
static void update_diff(ckpool_t *ckp); static void update_diff(ckpool_t *ckp);
@ -1327,8 +1326,7 @@ retry:
update_base(ckp, GEN_PRIORITY); update_base(ckp, GEN_PRIORITY);
} else if (cmdmatch(buf, "subscribe")) { } else if (cmdmatch(buf, "subscribe")) {
/* Proxifier has a new subscription */ /* Proxifier has a new subscription */
if (!update_subscribe(ckp)) update_subscribe(ckp);
goto out;
} else if (cmdmatch(buf, "notify")) { } else if (cmdmatch(buf, "notify")) {
/* Proxifier has a new notify ready */ /* Proxifier has a new notify ready */
update_notify(ckp); update_notify(ckp);

Loading…
Cancel
Save