Tanaka Akira wrote: > In article <4443534E.5030303 / path.berkeley.edu>, > Joel VanderWerf <vjoel / path.berkeley.edu> writes: > >> Hi. IO#readpartial seems to be broken on ARM (Intel XScale, gumstix), >> and this is causing telnet to hang. The problem is that readpartial(n) >> hangs until all n bytes are received. I've tested this with TCPSockets. >> >> Any suggestions for me to try next? What might be misconfigured? >> >> Gumstix use uClibc (http://www.busybox.net/) rather than GNU libc. >> >> This is with ruby-1.8.4. > > I guess READ_DATA_PENDING is not defined properly because > uClibc. > > If my guess is right, ruby 1.9 should work well. > ruby 1.9 has its own buffering mechanism to avoid stdio > buffering. Thank for the suggestion. There is a problem with ext/socket. Here is what shows up in mkmf.log: -------------------- have_struct_member: checking for struct msghdr.msg_accrights... -------------------- no "arm-linux-gcc -c -I../.. -I../../. -g -O2 conftest.c" conftest.c:7: error: structure has no member named `msg_accrights' checked program was: /* begin */ #include <sys/types.h> #include <sys/socket.h> /*top*/ int main() { return 0; } int s = (char *)&((struct msghdr*)0)->msg_accrights - (char *)0; /* end */ -------------------- Btw, there is a minor bug in ext/Setup: there is still a line for enumerator. It is commented out, but maybe it should be deleted, since enumerator is in the core now. -- vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407