[#103135] [Ruby master Feature#17768] Proposal: Downward assignments — mame@...

Issue #17768 has been reported by mame (Yusuke Endoh).

10 messages 2021/04/01

[#103162] [Ruby master Feature#17773] Alias `Numeric#zero?` and `Float#zero?` as `Numeric#empty?` and `Float#empty?` — sawadatsuyoshi@...

Issue #17773 has been reported by sawa (Tsuyoshi Sawada).

9 messages 2021/04/02

[#103241] [Ruby master Bug#17777] 2.6.7 fails to build on macOS: implicit declaration of function 'rb_native_mutex_destroy' is invalid in C99 — eregontp@...

Issue #17777 has been reported by Eregon (Benoit Daloze).

17 messages 2021/04/05

[#103280] [Ruby master Bug#17781] Resolv::DNS RequestID table allocations are never freed, causing DNS lookups to eventually hang — supermathie@...

Issue #17781 has been reported by supermathie (Michael Brown).

9 messages 2021/04/07

[#103305] [Ruby master Feature#17785] Allow named parameters to be keywords — marcandre-ruby-core@...

Issue #17785 has been reported by marcandre (Marc-Andre Lafortune).

21 messages 2021/04/08

[#103310] [Ruby master Feature#17786] Proposal: new "ends" keyword — jzakiya@...

Issue #17786 has been reported by jzakiya (Jabari Zakiya).

13 messages 2021/04/08

[#103317] [Ruby master Bug#17787] Four AIX build issues with xlc compiler and ruby-3.0.1 — lamont@...

Issue #17787 has been reported by lamont (Lamont Granquist).

9 messages 2021/04/08

[#103342] [Ruby master Feature#17790] Have a way to clear a String without resetting its capacity — jean.boussier@...

Issue #17790 has been reported by byroot (Jean Boussier).

14 messages 2021/04/09

[#103386] [Ruby master Bug#17793] `shorten-64-to-32` error for 32-bit Android due to `struct stat` definition — xtkoba+ruby@...

Issue #17793 has been reported by xtkoba (Tee KOBAYASHI).

8 messages 2021/04/11

[#103400] [Ruby master Feature#17795] `before_fork` and `after_fork` callback API — jean.boussier@...

Issue #17795 has been reported by byroot (Jean Boussier).

42 messages 2021/04/12

[#103434] [Ruby master Bug#17799] Seg fault in rb_class_clear_method_cache — stanhu@...

Issue #17799 has been reported by stanhu (Stan Hu).

14 messages 2021/04/13

[#103481] [Ruby master Feature#17808] Feature Request: JS like splat of Object properties as named method parameters — brad.krane@...

Issue #17808 has been reported by Lithium (Brad Krane).

8 messages 2021/04/16

[#103556] [Ruby master Bug#17820] `Errno::EINVAL` from `Process.kill` with available signal on Windows — alex.wayfer@...

Issue #17820 has been reported by AlexWayfer (Alexander Popov).

9 messages 2021/04/22

[#103591] [Ruby master Bug#17827] Monitor is not fiber safe — samuel@...

Issue #17827 has been reported by ioquatix (Samuel Williams).

11 messages 2021/04/25

[#103593] [Ruby master Misc#17828] Deprecate use of master and slave — yyoshida.at.work@...

Issue #17828 has been reported by yyoshida.at.work@gmail.com (Yasuhiro Yoshida).

10 messages 2021/04/26

[#103596] [Ruby master Feature#17830] Add Integer#previous and Integer#prev — rafasoaresms@...

Issue #17830 has been reported by rafasoares (Rafael Soares).

9 messages 2021/04/26

[#103631] [Ruby master Feature#17837] Add support for Regexp timeouts — sam.saffron@...

Issue #17837 has been reported by sam.saffron (Sam Saffron).

45 messages 2021/04/27

[ruby-core:103601] [Ruby master Bug#17820] `Errno::EINVAL` from `Process.kill` with available signal on Windows

From: alex.wayfer@...
Date: 2021-04-26 19:59:10 UTC
List: ruby-core #103601
Issue #17820 has been updated by AlexWayfer (Alexander Popov).


jeremyevans0 (Jeremy Evans) wrote in #note-7:
> I tested every signal from `Signal.list` on Windows 10, and all signals work in some fashion, assuming you send the signal to the current process.  For `Process.kill`:
> 
> * INT raises a standard Interrupt exception
> * ILL/SEGV simulates a crash and generates a backtrace (does not run ensure blocks)
> * ABRT/FPE/KILL exits immediately (does not run ensure blocks)
> * TERM exits immediately (runs ensure blocks)
> * EXIT doesn't work
> 
> However, EXIT works for `Signal.trap`.  This code prints `1` and then `2`:
> 
> ```
> Signal.trap('EXIT'){p 2}
> begin
>   Process.kill('TERM', $$)
> ensure
>   p 1
> end
> ```
> 
> So all signals listed in `Signal.list` are valid in some context.  The documentation for `Signal` itself states:
> 
> ```
> The list of available signal names and their interpretation is
> system dependent.
> ```
> 
> So Ruby makes no guarantee that signal handling behavior will be consistent across systems.
> 
> Considering all this, I don't think the current behavior is a bug.  If you think the behavior or documentation could be improved, please submit a pull request.

I'm glad that these things work for current process, and with such circumstances the current behavior can be left, but it's weird for me that the same doesn't work for other Ruby processes. [I'm testing `filewatcher-cli`](https://github.com/filewatcher/filewatcher-cli/pull/35) with Windows, and the original author wants Filewatcher to be cross-independent, but there is `restart-signal` option and I just can't test it properly on Windows. I've already changed the default value from `TERM` to `KILL`, already added a warning for any different value, but spawned test Ruby script should trap specific signal and save a file with it. And even if I want to trap the default value (`KILL`) — I can't, I should trap `EXIT`, but such signal doesn't stop process, and so on… terrible behavior for me. I understand that Windows is not primary platform for Ruby, but I wish improvements and consistency in this direction. I'm not an expert with process signals so I can't send a PR for this.

----------------------------------------
Bug #17820: `Errno::EINVAL` from `Process.kill` with available signal on Windows
https://bugs.ruby-lang.org/issues/17820#change-91694

* Author: AlexWayfer (Alexander Popov)
* Status: Rejected
* Priority: Normal
* ruby -v: ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x64-mingw32] 
* Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN
----------------------------------------
Hello.

I've installed Ruby on Windows via [Chocolatey](https://community.chocolatey.org/packages/ruby).

I receive `Errno::EINVAL` from `Process.kill` with almost every signal. Only `0` seems working. `TERM` (`15`), `INT` (`2`) — don't. Although they're in `Signal.list` output:

![](clipboard-202104222051-b64xq.png)


---Files--------------------------------
clipboard-202104222051-b64xq.png (63.9 KB)
clipboard-202104222318-tbufr.png (96.8 KB)


-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next