X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=write_common.c;h=5988faf77a5cd13f1b4e1930299b8c90073efc3d;hp=be7f9c221f5bda21b5b7cb79db02ec8f748a3102;hb=25518356767bd60bd03ac2f9c6b2381644483925;hpb=c1b587842e553665fbffce079a5ff5a69c9c6a38 diff --git a/write_common.c b/write_common.c index be7f9c22..5988faf7 100644 --- a/write_common.c +++ b/write_common.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2010 Andre Noll + * Copyright (C) 2006-2011 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -157,7 +157,15 @@ static void get_btr_value(struct btr_node *btrn, const char *cmd, char *buf = NULL; int ret = btr_exec_up(btrn, cmd, &buf); - assert(ret >= 0); + if (ret < 0) { + /* + * This really should not happen. It means one of our parent + * nodes died unexpectedly. Proceed with fingers crossed. + */ + PARA_CRIT_LOG("cmd %s: %s\n", cmd, para_strerror(-ret)); + *result = 0; + return; + } ret = para_atoi32(buf, result); assert(ret >= 0); free(buf);