>>>>> "V" == Ville Mattila <mulperi / iki.fi> writes:

V> But I want raise this issue again as I think that this really
V> is a ruby bug.

 Apparently this is specific to Solaris.

 Can you try to protect all call to select(2) in eval.c against
 ERESTART. For example, in rb_thread_select() something like this

	for (;;) {
	    TRAP_BEG;
	    n = select(max, read, write, except, tvp);
	    TRAP_END;
#ifdef ERESTART
	    if (n < 0 && (errno == EINTR || errno == ERESTART)) {
#else
	    if (n < 0 && errno == EINTR) {
#endif

 You have 3 or 4 call to protect.

 I was able to see this case (on Solaris 2.7), but it's very difficult to
 reproduce it, and not yet found where it's documented


Guy Decoux