From: Yukihiro Matsumoto Date: 2009-01-29T14:01:38+09:00 Subject: Re: Errno::ENOMEM reading a device in Ruby, not in Java though Hi, In message "Re: Errno::ENOMEM reading a device in Ruby, not in Java though" on Thu, 29 Jan 2009 05:27:13 +0900, Roger Pack writes: |ruby: | |open("/dev/st2", O_RDONLY) = 3 |fstat(3, {st_mode=S_IFCHR|0660, st_rdev=makedev(9, 2), ...}) = 0 |fstat(3, {st_mode=S_IFCHR|0660, st_rdev=makedev(9, 2), ...}) = 0 |ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff5721d900) = -1 EINVAL |(Invalid argument) |mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) |= 0x2b5b53902000 |read(3, 0x2b5b53902000, 4096) = -1 ENOMEM (Cannot allocate |memory) Strange. ENOMEM is not listed among errors that read(2) can raise. matz.