File tree 2 files changed +36
-0
lines changed
2 files changed +36
-0
lines changed Original file line number Diff line number Diff line change @@ -2524,6 +2524,16 @@ def daemon(*args)
2524
2524
2525
2525
module TrapInterceptor
2526
2526
def trap sig , *command , &command_proc
2527
+ sym =
2528
+ case sig
2529
+ when String
2530
+ sig . to_sym
2531
+ when Integer
2532
+ Signal . signame ( sig ) &.to_sym
2533
+ else
2534
+ sig
2535
+ end
2536
+
2527
2537
case sig &.to_s &.to_sym
2528
2538
when :INT , :SIGINT
2529
2539
if defined? ( SESSION ) && SESSION . active? && SESSION . intercept_trap_sigint?
Original file line number Diff line number Diff line change @@ -24,6 +24,32 @@ def test_sigint
24
24
type 'c'
25
25
end
26
26
end
27
+
28
+ def test_trap_with
29
+ debug_code %q{
30
+ 1| trap(:INT){} # Symbol
31
+ 2| _ = 1
32
+ } , remote : false do
33
+ type 'n'
34
+ type 'n'
35
+ end
36
+
37
+ debug_code %q{
38
+ 1| trap('INT'){} # String
39
+ 2| _ = 1
40
+ } , remote : false do
41
+ type 'n'
42
+ type 'n'
43
+ end
44
+
45
+ debug_code %q{
46
+ 1| trap(Signal.list['INT']){} if Signal.list['INT'] # Integer
47
+ 2| _ = 1
48
+ } , remote : false do
49
+ type 'n'
50
+ type 'n'
51
+ end
52
+ end
27
53
end
28
54
end
29
55
You can’t perform that action at this time.
0 commit comments