Confused by sysread()

Dave Mitchell davem at
Tue Apr 10 10:51:27 BST 2012

On Mon, Apr 09, 2012 at 10:32:09PM +0100, Roger Burton West wrote:
> Under Linux amd64 and Perl 5.10.1, I'm trying to read from a pair of
> devices which will produce data in 16-byte blocks. (I can cat the device
> files - as the same user - and verify that they do this.)

Unlikely to be the issue, but have you tested doing a single 16-byte read,

    dd if=/dev/foo of=/dev/null bs=16 count=1

> Have I missed something important somewhere?

Not that I can see; (well, you don't test the result of the open, but I
doubt that's the problem in this case).

Try running it with strace, to see what underlying system calls are being
performed on the file handle. If its not obvious from that, then strace
the working 5.8.x version too to see what's different. 

Thank God I'm an atheist.....

More information about the mailing list