Hi, when I read about the splice() system call, I thought it was obvious that it could copy data between two pipes. I was surprised that this assumption is wrong, it's not possible on 2.6.29, I get EINVAL. Can anybody please explain this limitation? Background: I want to forward data between two subprocesses, which are connected to me with a pipe(). I have attached a small test program which prints a table of supported splice operations. Here's the output on 2.6.29.1: in\out pipe sock reg chr pipe no yes yes yes sock no no no no reg yes no no no chr no no no no Max