udp_send: Do not send the current chunk if queue is not empty.
authorAndre Noll <maan@systemlinux.org>
Sun, 23 May 2010 16:58:22 +0000 (18:58 +0200)
committerAndre Noll <maan@systemlinux.org>
Wed, 9 Jun 2010 17:53:26 +0000 (19:53 +0200)
In this case we have enqueued other data _and_ the current chunk already.

udp_send.c

index 70373c99d4fbbd8526837179dd8f24a0c68153e6..49f84acdd156e870d7ec5219e1400dff07aa61d4 100644 (file)
@@ -263,6 +263,7 @@ static int udp_send_fec(struct sender_client *sc, char *buf, size_t len)
        if (!ret) { /* still data left in the queue */
                ret = cq_force_enqueue(sc->cq, buf, len);
                assert(ret >= 0);
        if (!ret) { /* still data left in the queue */
                ret = cq_force_enqueue(sc->cq, buf, len);
                assert(ret >= 0);
+               return 0;
        }
        ret = write_nonblock(sc->fd, buf, len);
        if (ret == -ERRNO_TO_PARA_ERROR(ECONNREFUSED))
        }
        ret = write_nonblock(sc->fd, buf, len);
        if (ret == -ERRNO_TO_PARA_ERROR(ECONNREFUSED))