add SPLICE_F_MORE to lttd splice
authorMathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Wed, 19 Aug 2009 01:14:01 +0000 (21:14 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Wed, 19 Aug 2009 01:14:01 +0000 (21:14 -0400)
    SPLICE_F_MORE      More  data  will  be  coming in a subsequent splice.
                       This is a helpful hint when the fd_out refers  to  a
                       socket  (see  also  the  description  of MSG_MORE in
                       send(2), and the description of TCP_CORK in tcp(7))

Will be a useful guideline for network sending daemons.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
lttd/lttd.c

index f21c411eb8940de479fb62980917c6880fae7e99..61d24688f4283170f8cf98cb3ffe0b5075305d7c 100644 (file)
@@ -472,14 +472,14 @@ int read_subbuffer(struct fd_pair *pair)
                printf_verbose("splice chan to pipe offset %lu\n",
                        (unsigned long)offset);
                ret = splice(pair->channel, &offset, thread_pipe[1], NULL,
-                       len, SPLICE_F_MOVE);
+                       len, SPLICE_F_MOVE | SPLICE_F_MORE);
                printf_verbose("splice chan to pipe ret %ld\n", ret);
                if (ret < 0) {
                        perror("Error in relay splice");
                        goto write_error;
                }
                ret = splice(thread_pipe[0], NULL, pair->trace, NULL,
-                       ret, SPLICE_F_MOVE);
+                       ret, SPLICE_F_MOVE | SPLICE_F_MORE);
                printf_verbose("splice pipe to file %ld\n", ret);
                if (ret < 0) {
                        perror("Error in file splice");
This page took 0.023384 seconds and 4 git commands to generate.