From: ts Date: 2001-08-16T00:00:16+09:00 Subject: [ruby-talk:19783] Re: TCPServer#accept bug? >>>>> "M" == Michel H G van de Ven writes: M> - rb_sys_fail in turn calls strerror(0), which returns "Success" and M> then throws an exception with that message text. No, rb_sys_fail(mesg) call strerror(errno) mesg is used like this : if (mesg) { volatile VALUE tmp = rb_str_inspect(rb_str_new2(mesg)); buf = ALLOCA_N(char, strlen(err)+RSTRING(tmp)->len+4); sprintf(buf, "%s - %s", err, RSTRING(tmp)->ptr); } else { buf = ALLOCA_N(char, strlen(err)+1); strcpy(buf, err); } Guy Decoux