ruby-changes:23914
From: akr <ko1@a...>
Date: Fri, 8 Jun 2012 22:50:47 +0900 (JST)
Subject: [ruby-changes:23914] akr:r35965 (trunk): add comments.
akr 2012-06-08 22:50:38 +0900 (Fri, 08 Jun 2012) New Revision: 35965 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=35965 Log: add comments. Modified files: trunk/process.c Index: process.c =================================================================== --- process.c (revision 35964) +++ process.c (revision 35965) @@ -2788,10 +2788,16 @@ continue; } else { + /* rb_protect() is required not only for non-NULL status + * but also for non-NULL chfunc because + * ep[0] and ep[1] should be closed on exceptions. + * If status is NULL, the catched exception is re-raised + * by rb_jump_tag() below, after closing them. */ rb_protect((VALUE (*)())rb_thread_sleep, 1, &state); if (status) *status = state; if (!state) continue; } + /* fall through */ default: #ifdef FD_CLOEXEC if (chfunc) { -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/