diff --git a/ChangeLog b/ChangeLog index 375befc589..573e5c5daf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Sun Mar 26 02:32:12 2017 NAKAMURA Usaku + + * win32/win32.c (poll_child_status): rb_w32_wait_events_blocking() sets + errno internally, then should not set it here. + Sun Mar 26 02:13:04 2017 Koichi Sasada * test/ruby/test_exception.rb: fix thread issues. diff --git a/version.h b/version.h index d569ac2914..7aa76b0f4e 100644 --- a/version.h +++ b/version.h @@ -1,6 +1,6 @@ #define RUBY_VERSION "2.2.7" #define RUBY_RELEASE_DATE "2017-03-26" -#define RUBY_PATCHLEVEL 441 +#define RUBY_PATCHLEVEL 442 #define RUBY_RELEASE_YEAR 2017 #define RUBY_RELEASE_MONTH 3 diff --git a/win32/win32.c b/win32/win32.c index abd3bd6994..deb04965a2 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -4172,7 +4172,6 @@ poll_child_status(struct ChildRecord *child, int *stat_loc) if (!GetExitCodeProcess(child->hProcess, &exitcode)) { /* If an error occurred, return immediately. */ - error_exit: err = GetLastError(); switch (err) { case ERROR_INVALID_PARAMETER: @@ -4185,6 +4184,7 @@ poll_child_status(struct ChildRecord *child, int *stat_loc) errno = map_errno(err); break; } + error_exit: CloseChildHandle(child); return -1; }