From: Eric Wong Date: 2018-07-05T05:38:22+00:00 Subject: [ruby-core:87801] Re: [Ruby trunk Bug#14867] Process.wait can wait for MJIT compiler process Greg.mpls@gmail.com wrote: > > Importantly, mswin (ruby's vc12) passed r63856. Good to know. I saw your message before http://mswinci.japaneast.cloudapp.azure.com/vc12-x64/ruby-trunk/recent.html got updated, I guess there is a delay. > Unfortunately, ruby-loco locked up on test-all. So, before > the reversion (r63852), test-all completed, but all JIT tests > failed. After the reversion, all JIT tests passed. Any compiler warnings or helpful output before lokcup? > Ok, I'll remember the no js... > > > OK, I will keep that in mind; r63794 only changed a test; > That's why I mentioned the 'builds 3 times a day' (3:00, 9:00 > and 16:00 UTC, or Noon, 6:00 P and 1:00 A JST). The Ruby core > mswin CI runs on every commit. > > In the build previous to r63794, which was r63790, the tests > crashed. As of r63794, they completed. > Anyway, since mingw and mswin mean nothing to people > unfamiliar with Windows builds, how about I'll call the Ruby > core CI build 'mswin', and the mingw build 'ruby-loco' (which > is my build)? mswin is straight MSVC compiler, ruby-loco is > using gcc 7.3.0 ported to windows via the MSYS2/MinGW project. OK. So I wonder if ruby-loco tries to define SIGCHLD and fails because of it. The different behaviors of various Windows builds is confusing, because @usa was happy about r63790. Does the following help? If WAITPID_USE_SIGCHLD is zero, it should fall back to old code and none of my changes should have any effect. ``` --- a/vm_core.h +++ b/vm_core.h @@ -110,6 +110,11 @@ /* define to 0 to test old code path */ #define WAITPID_USE_SIGCHLD (RUBY_SIGCHLD || SIGCHLD_LOSSY) +#if defined(__MINGW32__) || defined(_WIN32) +# undef WAITPID_USE_SIGCHLD +# define WAITPID_USE_SIGCHLD (0) +#endif + #ifdef HAVE_STDARG_PROTOTYPES #include #define va_init_list(a,b) va_start((a),(b)) ``` Thanks for your patience. Unsubscribe: