Browse Source

don't leave 2nd store in limbo if opening 1st store fails synchronously

we can't leave the store FRESH, as otherwise the error handling code
will assume it is still being opened and will return to the main loop.
depending on the config this would cause an immediate termination or an
indefinite wait.
1.1
Oswald Buddenhagen 10 years ago
parent
commit
9eba3d8cd9
  1. 8
      src/main.c

8
src/main.c

@ -593,12 +593,16 @@ sync_chans( main_vars_t *mvars, int ent )
labels[M] = "M: ", labels[S] = "S: "; labels[M] = "M: ", labels[S] = "S: ";
else else
labels[M] = labels[S] = ""; labels[M] = labels[S] = "";
for (t = 0; t < 2; t++) { for (t = 0; ; t++) {
info( "Opening %s %s...\n", str_ms[t], mvars->chan->stores[t]->name ); info( "Opening %s %s...\n", str_ms[t], mvars->chan->stores[t]->name );
mvars->drv[t] = mvars->chan->stores[t]->driver; mvars->drv[t] = mvars->chan->stores[t]->driver;
mvars->drv[t]->open_store( mvars->chan->stores[t], labels[t], store_opened, AUX ); mvars->drv[t]->open_store( mvars->chan->stores[t], labels[t], store_opened, AUX );
if (mvars->skip) if (t)
break; break;
if (mvars->skip) {
mvars->state[1] = ST_CLOSED;
break;
}
} }
mvars->cben = 1; mvars->cben = 1;
opened: opened:

Loading…
Cancel
Save