[#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
[#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
[#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
[#103388] [ANN] Multi-factor Authentication of bugs.ruby-lang.org — SHIBATA Hiroshi <hsbt@...>
Hello,
5 messages
2021/04/12
[#103414] Re: [ANN] Multi-factor Authentication of bugs.ruby-lang.org
— Martin J. Dürst <duerst@...>
2021/04/13
Is there a way to use this multi-factor authentication for (like me)
[#103547] List of CI sites to check — Martin J. Dürst <duerst@...>
Hello everybody,
4 messages
2021/04/22
[#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
[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:

---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>