Merge branch 't/writer_cleanups'
authorAndre Noll <maan@systemlinux.org>
Sun, 5 Dec 2010 17:41:36 +0000 (18:41 +0100)
committerAndre Noll <maan@systemlinux.org>
Sun, 5 Dec 2010 17:41:36 +0000 (18:41 +0100)
fd.c
fecdec_filter.c
para.h
write_common.c

diff --git a/fd.c b/fd.c
index 978ada4..54eddb3 100644 (file)
--- a/fd.c
+++ b/fd.c
@@ -97,7 +97,7 @@ int write_nonblock(int fd, const char *buf, size_t len)
  * In any case, \a num_bytes contains the number of bytes that have been
  * successfully read from \a fd (zero if the first readv() call failed with
  * EAGAIN). Note that even if the function returns negative, some data might
- * have been read before the error occured. In this case \a num_bytes is
+ * have been read before the error occurred. In this case \a num_bytes is
  * positive.
  *
  * \sa \ref write_nonblock(), read(2), readv(2).
index 30696c1..d8b9297 100644 (file)
@@ -414,7 +414,7 @@ static int dispatch_slice(char *buf, size_t len, struct fec_header *h,
        ret = fec_new(k, n, &pfd->fec);
        if (ret < 0)
                return ret;
-       pfd->btrp = btr_pool_new("fecdec", 20 * k *  h->slice_bytes);
+       pfd->btrp = btr_pool_new("fecdec", 64 * 1024);
        /* decode and clear the first group */
        ret = decode_group(pfd->first_complete_group, fn);
        if (ret < 0)
diff --git a/para.h b/para.h
index 305707d..1dcbb6d 100644 (file)
--- a/para.h
+++ b/para.h
@@ -50,7 +50,7 @@
        _x > 0? _x : -_x; })
 
 /**
- * define a standard log function that always writes to stderr
+ * Define a standard log function that always writes to stderr.
  *
  * \param loglevel_barrier If the loglevel of the current message
  * is less than that, the message is going to be ignored.
        "Written by Andre Noll.\n" \
        "Report bugs to <maan@systemlinux.org>.\n"
 
-/** print out \p VERSION_TEXT and exit if version flag was given */
+/** Print out \p VERSION_TEXT and exit if version flag was given. */
 #define HANDLE_VERSION_FLAG(_prefix, _args_info_struct) \
        if (_args_info_struct.version_given) { \
                printf("%s", VERSION_TEXT(_prefix)); \
                exit(EXIT_SUCCESS); \
        }
 
-/* Sent by para_client to initiate the authentication procedure. */
+/** Sent by para_client to initiate the authentication procedure. */
 #define AUTH_REQUEST_MSG "auth rsa "
-/** sent by para_server for commands that expect a data file */
+/** Sent by para_server for commands that expect a data file. */
 #define AWAITING_DATA_MSG "\nAwaiting Data."
-/** sent by para_server if authentication was successful */
+/** Sent by para_server if authentication was successful. */
 #define PROCEED_MSG "Proceed."
-/** length of the \p PROCEED_MSG string */
+/** Length of the \p PROCEED_MSG string. */
 #define PROCEED_MSG_LEN strlen(PROCEED_MSG)
-/** sent by para_client to indicate the end of the command line */
+/** Sent by para_client to indicate the end of the command line. */
 #define EOC_MSG "\nEnd of Command."
 
 /* exec */
@@ -165,6 +165,7 @@ _static_inline_ long int para_random(unsigned max)
        return ((max + 0.0) * (random() / (RAND_MAX + 1.0)));
 }
 
+/** Divide and round up to next integer. */
 #define DIV_ROUND_UP(x, y) ({ \
        typeof(y) _divisor = y; \
        ((x) + _divisor - 1) / _divisor; })
index be7f9c2..04db8ff 100644 (file)
@@ -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);