write_common: Don't abort if btr_exec_up() failed.
[paraslash.git] / write_common.c
index 6cd7ed22cabf94eafdfd5019b06d366262378c5e..7131a94042dae3b989a73ee5a1b8cd4c84bf2b02 100644 (file)
@@ -153,7 +153,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);
@@ -163,7 +171,7 @@ static void get_btr_value(struct btr_node *btrn, const char *cmd,
  * Ask parent btr nodes for the sample rate of the current stream.
  *
  * \param btrn Where to start the search.
- * \param result. Filled in by this function.
+ * \param result Filled in by this function.
  *
  * This function is assumed to succeed and terminates on errors.
  */