Issue #4920 has been reported by Motohiro KOSAKI.

----------------------------------------
Bug #4920: Process.daemon()??¼ã?³å?ºã????«ã???????¿ã?¤ã????¼ã?¹ã?¬ã????????ï¼???¤å?ºæ?¥ã?¦ã????¾ã??
http://redmine.ruby-lang.org/issues/4920

Author: Motohiro KOSAKI
Status: Assigned
Priority: High
Assignee: Motohiro KOSAKI
Category: core
Target version: 1.9.3
ruby -v: ruby 1.9.3dev (2011-06-19 trunk 32170) [x86_64-linux]


??????????????????akr???????????ºè???????¦ã?????????£ã????®ã?§ã??????????? trunk???

$ ./ruby -e 'Process.daemon(true,true); p Dir.entries("/proc/self/task")'

??¨å??è¡?????????¨ã????¹ã?¬ã????????ï¼???¹ã????¾ã??(Linux??§å??è¡??????¦ã??????????ï¼????ä½?????????¨ã???????? Process.daemon() 
???å¥?æ©???«ã?¿ã?¤ã????¼ã?¹ã?¬ã????????ï¼???¤å?ºæ?¥ã?¦ã????¾ã??????????§ã?????

????????¯ä»¥ä¸???®ã?³ã?¼ã????§ã??

------------------------------------------------------
static VALUE
proc_daemon(int argc, VALUE *argv)
{
    VALUE nochdir, noclose;
    int n;

    rb_secure(2);
    rb_scan_args(argc, argv, "02", &nochdir, &noclose);

    prefork();
    before_fork();
    n = daemon(RTEST(nochdir), RTEST(noclose));
    after_fork();
    if (n < 0) rb_sys_fail("daemon");
    return INT2FIX(n);
}
------------------------------------------------------

BSD以å????®ç?°å????§ã??daemon()???OS???daemon(3)??§ã?¯ã?ªã????rb_daemon()???使ç?¨ã?????
rb_daemon??¯å????¨ç?????rb_fork_err()???使ç?¨ã???????????çµ??????????

    before_fork();
    before_fork();
    fork();
    after_fork();
    after_fork();

??¨ã???????¼ã?³å?ºã?????åº??«ã?ªã?????after_fork()??®ã????³ã?«ã?¿ã?¤ã????¼ã?¹ã?¬ã??????????¤ã??????®ã?§å??è¨?ï¼???¹ã?¬ã????????

?????¡ã????????1.9.2??§ã?¯ã?¡ã???????¨å??????®ã?§ã???????¯ã?ªã?°ã?¬ã????·ã?§ã?³ã?§ã?????
???????????«ã??????????¯ã????¡ã??????????¨æ???????®ã?§æ??????????????????????«æ??縮ã?§ã???????¿ã?¼ã?²ã????????1.9.3???
設å??????????¦ã?????????????¾ã?????




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