[ruby-core:70048] Re: [Ruby trunk - Bug #11336] TestProcess#test_exec_fd_3_redirect failed on Solaris 10

From: Eric Wong <normalperson@...>
Date: 2015-07-20 02:44:11 UTC
List: ruby-core #70048
ngotogenome@gmail.com wrote:
> With the patch, when exec system call fails, signals that are sent
> after stopping the timer thread before re-starting the timer thread
> may be ignored.

I'm not seeing it, did you notice/reproduce this failure?

I see:

1) rb_thread_stop_timer_thread()

2) signal received:
    sighandler
      -> signal_enque -> ATOMIC_INC(signal_buff.size) (++)
      -> rb_thread_wakeup_timer_thread -> noop since TT not running

3) exec fails

4) rb_thread_start_timer_thread()
    -> pthread_create(..., thread_timer)
      -> thread_timer
        -> timer_thread_function
          -> rb_threadptr_check_signal
            -> if (rb_signal_buff_size() > 0) { /* true from (++) */
                /* continue processing signals */

In other words, I'm not seeing a problem based on the (++) steps.

In This Thread

Prev Next