[ruby-cvs:72133] k0kubun:r65033 (trunk): mjit_worker.c: suppress child process's output properly

k0kubun at ruby-lang.org k0kubun at ruby-lang.org
Sat Oct 13 00:14:51 JST 2018


k0kubun	2018-10-13 00:14:51 +0900 (Sat, 13 Oct 2018)

  New Revision: 65033

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=65033

  Log:
    mjit_worker.c: suppress child process's output properly
    
    Prior to this commit, some of parent process's output was unintentionally
    suppressed. We couldn't suppress only child process's output with spawnvp.
    
    Instead of that, this commit uses CreateProcess directly to redirect stdout
    and stderr only for child process.
    
    As it's dealing with HANDLE returned from CreateProcess, now waitpid macro
    needs to CloseHandle it.
    
    win32/win32.c: Introduce rb_w32_start_process which is designed for MJIT
    worker. Other similar functions can't be used since they are using ALLOCV
    that may trigger GC, which should be avoided on MJIT worker.

  Modified files:
    trunk/mjit_worker.c
    trunk/win32/win32.c


More information about the ruby-cvs mailing list