Issue #5688 has been updated by okkez _.


=begin

r33784 ????????®ã??????????§ã?????
Debian ä¸???? test-all ?????¨ã?¦é??????????¨ã??確è???????¦ã????¾ã?????
Solaris ä¸???§ã?¯ç¢ºèª???§ã????¦ã????¾ã???????®ã?§ã????©ã?ªã?????追試?????¦ã????????????????¨å?©ã???????¾ã?????

  diff --git a/thread_pthread.c b/thread_pthread.c
  index 7fa8e95..b5c97bd 100644
  --- a/thread_pthread.c
  +++ b/thread_pthread.c
  @@ -1236,6 +1236,7 @@ rb_thread_create_timer_thread(void)
              fprintf(stderr, "[FATAL] Failed to create timer thread (errno: %d)\n", err);
              exit(EXIT_FAILURE);
          }
  +        pthread_attr_destroy(&attr);
       }
   }


以ä????®ã??????????? Solaris ä¸???? 1.9.2-p180 ??§ã?¡ã?¢ã?ªã?ªã?¼ã?¯ã??è§£æ????§ã????¾ã????????
Solaris ä¸???? test-all ??? E,F ???å¢??????¦ã????ªã???????¨ã??確è???????¾ã????????

  diff --git a/thread_pthread.c b/thread_pthread.c
  index 4746aaa..ab7bdf9 100644
  --- a/thread_pthread.c
  +++ b/thread_pthread.c
  @@ -835,6 +835,7 @@ rb_thread_create_timer_thread(void)
   	}
   	native_cond_wait(&timer_thread_cond, &timer_thread_lock);
   	native_mutex_unlock(&timer_thread_lock);
  +	pthread_attr_destroy(&attr);
       }
       rb_disable_interrupt(); /* only timer thread recieve signal */
   }

??§ã???????°ã??1.9.2, 1.9.3 ??«ã??????????¯ã????¼ã???????¦æ¬²????????§ã?????
??????????????é¡?????????¾ã?????

=end

----------------------------------------
Bug #5688: Solaris10 ??? spawn ???ç¹°ã??è¿??????¨ã?¡ã?¢ã?ªã?ªã?¼ã?¯ã?????
http://redmine.ruby-lang.org/issues/5688

Author: okkez _
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 
ruby -v: ruby 1.9.3p0 (2011-10-30 revision 33570) [i386-solaris2.10]


Solaris10 ??? spawn ???ç¹°ã??è¿??????¨ã?¡ã?¢ã?ªã?ªã?¼ã?¯ã????¾ã?????
Ruby ??? Solaris ??? gcc ??§ã????«ã???????¦ã????¾ã?????32bit ??§ã?? 64bit ??§ã??çµ??????¯å???????§ã????????
1.9.2-p180(64bit), 1.9.2-p290(32bit), 1.9.3-p0(64bit) ??§ç¢ºèª??????¾ã????????

???????????¯ä»¥ä¸???®é???????§ã?????
spawn-sleep.rb ???以ä????®å??容ã?§ä???????¾ã?????

  #!/usr/bin/env ruby
  ARGV[0].to_i.times do |n|
    spawn("sleep", "5")
    sleep 0.2
    GC.start if n % 100 == 0
  end

spawn-sleep.sh ???以ä????®å??容ã?§ä???????¾ã?????

  #!/bin/bash
  ./spawn-sleep.rb 3000 &
  pid=$!
  echo spawn-sleep:$pid
  trap "kill $pid; exit" INT TERM
  
  count=0
  while true; do
      date "+%Y-%m-%d %H:%M:%S"
      ps -o pid,ppid,vsz,rss,args | head -1 
      ps -o pid,ppid,vsz,rss,args | grep spawn-sleep.rb | grep -v grep
      echo "=========="
      sleep 1
  done

????????? spawn-sleep.sh ???å®?è¡?????????? spawn-sleep.rb ??? VSZ ??? RSS ???å¾??????«å???????¦ã???????¾ã?????
????????¯ã?¡ã?¢ã?ªã?ªã?¼ã?¯ã????¨æ???????®ã?§ã????????Debian(sid) ??§ã?¯å???????¾ã???????§ã????????
??¡ã?ªã?¿ã?«ã??spawn ??®é?¨å????? system ??«å???????¦ã?????æ§???§ã????????



-- 
http://redmine.ruby-lang.org