Skip to content

Commit 1a6aa8d

Browse files
committed
[GR-16401] Remove extra public methods on IO.
PullRequest: truffleruby/889
2 parents a84b16f + 0c7941a commit 1a6aa8d

File tree

22 files changed

+164
-184
lines changed

22 files changed

+164
-184
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ Bug fixes:
44

55
* Sharing for thread-safety of objects is now triggered later as intended, e.g., when a second `Thread` is started.
66
* Fixed `Array#to_h` so it doesn't set a default value (#1698).
7+
* Removed extra `public` methods on `IO` (#1702).
8+
* Fixed `Process.kill(signal, Process.pid)` when the signal is trapped as `:IGNORE` (#1702).
79

810
Compatibility:
911

lib/truffle/io/console.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,11 +83,11 @@ def self.console(sym=nil, *args)
8383
end
8484

8585
if RbConfig::CONFIG['host_os'].downcase =~ /linux/ && File.exist?("/proc/#{Process.pid}/fd")
86-
def stty(*args)
86+
private def stty(*args)
8787
`stty #{args.join(' ')} < /proc/#{Process.pid}/fd/#{fileno}`
8888
end
8989
else
90-
def stty(*args)
90+
private def stty(*args)
9191
`stty #{args.join(' ')}`
9292
end
9393
end

lib/truffle/socket/basic_socket.rb

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,11 @@ def do_not_reverse_lookup
5555
end
5656

5757
def getsockopt(level, optname)
58-
sockname = Truffle::Socket::Foreign.getsockname(descriptor)
58+
sockname = Truffle::Socket::Foreign.getsockname(@descriptor)
5959
family = Truffle::Socket.family_for_sockaddr_in(sockname)
6060
level = Truffle::Socket::SocketOptions.socket_level(level, family)
6161
optname = Truffle::Socket::SocketOptions.socket_option(level, optname)
62-
data = Truffle::Socket::Foreign.getsockopt(descriptor, level, optname)
62+
data = Truffle::Socket::Foreign.getsockopt(@descriptor, level, optname)
6363

6464
Socket::Option.new(family, level, optname, data)
6565
end
@@ -86,7 +86,7 @@ def setsockopt(level_or_option, optname = nil, optval = nil)
8686
optval = 1 if optval == true
8787
optval = 0 if optval == false
8888

89-
sockname = Truffle::Socket::Foreign.getsockname(descriptor)
89+
sockname = Truffle::Socket::Foreign.getsockname(@descriptor)
9090
family = Truffle::Socket.family_for_sockaddr_in(sockname)
9191
level = Truffle::Socket::SocketOptions.socket_level(level, family)
9292
optname = Truffle::Socket::SocketOptions.socket_option(level, optname)
@@ -97,14 +97,14 @@ def setsockopt(level_or_option, optname = nil, optval = nil)
9797
pointer.write_int(optval)
9898

9999
error = Truffle::Socket::Foreign
100-
.setsockopt(descriptor, level, optname, pointer, pointer.total)
100+
.setsockopt(@descriptor, level, optname, pointer, pointer.total)
101101
end
102102
elsif optval.is_a?(String)
103103
Truffle::Socket::Foreign.memory_pointer(optval.bytesize) do |pointer|
104104
pointer.write_string(optval)
105105

106106
error = Truffle::Socket::Foreign
107-
.setsockopt(descriptor, level, optname, pointer, optval.bytesize)
107+
.setsockopt(@descriptor, level, optname, pointer, optval.bytesize)
108108
end
109109
else
110110
raise TypeError, 'socket option should be an Integer, String, true, or false'
@@ -116,11 +116,11 @@ def setsockopt(level_or_option, optname = nil, optval = nil)
116116
end
117117

118118
def getsockname
119-
Truffle::Socket::Foreign.getsockname(descriptor)
119+
Truffle::Socket::Foreign.getsockname(@descriptor)
120120
end
121121

122122
def getpeername
123-
Truffle::Socket::Foreign.getpeername(descriptor)
123+
Truffle::Socket::Foreign.getpeername(@descriptor)
124124
end
125125

126126
def send(message, flags, dest_sockaddr = nil)
@@ -140,13 +140,13 @@ def send(message, flags, dest_sockaddr = nil)
140140

141141
begin
142142
bytes_sent = Truffle::Socket::Foreign
143-
.sendto(descriptor, buffer, bytes, flags, addr, addr.size)
143+
.sendto(@descriptor, buffer, bytes, flags, addr, addr.size)
144144
ensure
145145
addr.free
146146
end
147147
else
148148
bytes_sent = Truffle::Socket::Foreign
149-
.send(descriptor, buffer, bytes, flags)
149+
.send(@descriptor, buffer, bytes, flags)
150150
end
151151
end
152152

@@ -186,7 +186,7 @@ def recvmsg(max_msg_len = nil, flags = 0, *_)
186186
need_more = false
187187

188188
msg_size = Truffle::Socket::Foreign
189-
.recvmsg(descriptor, header.pointer, flags)
189+
.recvmsg(@descriptor, header.pointer, flags)
190190

191191
Truffle::Socket::Error.read_error('recvmsg(2)', self) if msg_size < 0
192192

@@ -245,7 +245,7 @@ def sendmsg(message, flags = 0, dest_sockaddr = nil, *_)
245245
end
246246

247247
num_bytes = Truffle::Socket::Foreign
248-
.sendmsg(descriptor, header.pointer, flags)
248+
.sendmsg(@descriptor, header.pointer, flags)
249249

250250
Truffle::Socket::Error.read_error('sendmsg(2)', self) if num_bytes < 0
251251

@@ -271,7 +271,7 @@ def close_read
271271
return close
272272
end
273273

274-
Truffle::Socket::Foreign.shutdown(descriptor, 0)
274+
Truffle::Socket::Foreign.shutdown(@descriptor, 0)
275275

276276
force_write_only
277277

@@ -285,7 +285,7 @@ def close_write
285285
return close
286286
end
287287

288-
Truffle::Socket::Foreign.shutdown(descriptor, 1)
288+
Truffle::Socket::Foreign.shutdown(@descriptor, 1)
289289

290290
force_read_only
291291

@@ -302,7 +302,7 @@ def recv_nonblock(bytes_to_read, flags = 0)
302302

303303
def shutdown(how = Socket::SHUT_RDWR)
304304
how = Truffle::Socket.shutdown_option(how)
305-
err = Truffle::Socket::Foreign.shutdown(descriptor, how)
305+
err = Truffle::Socket::Foreign.shutdown(@descriptor, how)
306306

307307
Errno.handle('shutdown(2)') unless err == 0
308308

@@ -324,6 +324,6 @@ def remote_address
324324
end
325325

326326
def getpeereid
327-
Truffle::Socket::Foreign.getpeereid(descriptor)
327+
Truffle::Socket::Foreign.getpeereid(@descriptor)
328328
end
329329
end

lib/truffle/socket/socket.rb

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ def bind(addr)
313313
addr = addr.to_sockaddr
314314
end
315315

316-
err = Truffle::Socket::Foreign.bind(descriptor, addr)
316+
err = Truffle::Socket::Foreign.bind(@descriptor, addr)
317317

318318
Errno.handle('bind(2)') unless err == 0
319319

@@ -325,7 +325,7 @@ def connect(sockaddr)
325325
sockaddr = sockaddr.to_sockaddr
326326
end
327327

328-
status = Truffle::Socket::Foreign.connect(descriptor, sockaddr)
328+
status = Truffle::Socket::Foreign.connect(@descriptor, sockaddr)
329329

330330
Truffle::Socket::Error.write_error('connect(2)', self) if status < 0
331331

@@ -339,7 +339,7 @@ def connect_nonblock(sockaddr, exception: true)
339339
sockaddr = sockaddr.to_sockaddr
340340
end
341341

342-
status = Truffle::Socket::Foreign.connect(descriptor, sockaddr)
342+
status = Truffle::Socket::Foreign.connect(@descriptor, sockaddr)
343343

344344
if status < 0
345345
if exception
@@ -360,13 +360,13 @@ def connect_nonblock(sockaddr, exception: true)
360360
end
361361

362362
def local_address
363-
sockaddr = Truffle::Socket::Foreign.getsockname(descriptor)
363+
sockaddr = Truffle::Socket::Foreign.getsockname(@descriptor)
364364

365365
Addrinfo.new(sockaddr, @family, @socket_type, 0)
366366
end
367367

368368
def remote_address
369-
sockaddr = Truffle::Socket::Foreign.getpeername(descriptor)
369+
sockaddr = Truffle::Socket::Foreign.getpeername(@descriptor)
370370

371371
Addrinfo.new(sockaddr, @family, @socket_type, 0)
372372
end

lib/truffle/socket/truffle.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ def self.accept(source, new_class)
7676
size_p.write_int(sockaddr.size)
7777

7878
Truffle::Socket::Foreign
79-
.accept(source.descriptor, sockaddr.pointer, size_p)
79+
.accept(source.fileno, sockaddr.pointer, size_p)
8080
end
8181

8282
Error.read_error('accept(2)', source) if fd < 0
@@ -108,7 +108,7 @@ def self.accept_nonblock(source, new_class, exception)
108108

109109
def self.listen(source, backlog)
110110
backlog = Truffle::Type.coerce_to_int(backlog)
111-
err = Foreign.listen(source.descriptor, backlog)
111+
err = Foreign.listen(source.fileno, backlog)
112112

113113
Error.read_error('listen(2)', source) if err < 0
114114

@@ -322,7 +322,7 @@ def self.convert_reverse_lookup(socket = nil, reverse_lookup = nil)
322322
end
323323

324324
def self.address_info(method, socket, reverse_lookup = nil)
325-
sockaddr = Foreign.__send__(method, socket.descriptor)
325+
sockaddr = Foreign.__send__(method, socket.fileno)
326326

327327
reverse_lookup = convert_reverse_lookup(socket, reverse_lookup)
328328

lib/truffle/socket/udp_socket.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ def initialize(family = Socket::AF_INET)
4141
def bind(host, port)
4242
addr = Truffle::Socket::Foreign.pack_sockaddr_in(
4343
host, port.to_i, @family, Socket::SOCK_DGRAM, 0)
44-
status = Truffle::Socket::Foreign.bind(descriptor, addr)
44+
status = Truffle::Socket::Foreign.bind(@descriptor, addr)
4545

4646
Errno.handle('bind(2)') if status < 0
4747

@@ -52,7 +52,7 @@ def connect(host, port)
5252
sockaddr = Truffle::Socket::Foreign.pack_sockaddr_in(
5353
host, port.to_i, @family, Socket::SOCK_DGRAM, 0)
5454

55-
status = Truffle::Socket::Foreign.connect(descriptor, sockaddr)
55+
status = Truffle::Socket::Foreign.connect(@descriptor, sockaddr)
5656

5757
Truffle::Socket::Error.write_error('connect(2)', self) if status < 0
5858

lib/truffle/socket/unix_server.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ def initialize(path)
3737
binmode
3838

3939
sockaddr = Socket.sockaddr_un(@path)
40-
status = Truffle::Socket::Foreign.bind(descriptor, sockaddr)
40+
status = Truffle::Socket::Foreign.bind(@descriptor, sockaddr)
4141

4242
Errno.handle('bind(2)') if status < 0
4343

lib/truffle/socket/unix_socket.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ def initialize(path)
5050
binmode
5151

5252
sockaddr = Socket.sockaddr_un(Truffle::Type.check_null_safe(path))
53-
status = Truffle::Socket::Foreign.connect(descriptor, sockaddr)
53+
status = Truffle::Socket::Foreign.connect(@descriptor, sockaddr)
5454

5555
Errno.handle('connect(2)') if status < 0
5656
end
@@ -64,15 +64,15 @@ def recvfrom(bytes_read, flags = 0)
6464
end
6565

6666
def path
67-
@path ||= Truffle::Socket::Foreign.getsockname(descriptor).unpack('SZ*')[1]
67+
@path ||= Truffle::Socket::Foreign.getsockname(@descriptor).unpack('SZ*')[1]
6868
end
6969

7070
def addr
7171
['AF_UNIX', path]
7272
end
7373

7474
def peeraddr
75-
path = Truffle::Socket::Foreign.getpeername(descriptor).unpack('SZ*')[1]
75+
path = Truffle::Socket::Foreign.getpeername(@descriptor).unpack('SZ*')[1]
7676

7777
['AF_UNIX', path]
7878
end

spec/ruby/core/signal/trap_spec.rb

Lines changed: 34 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@
44
describe "Signal.trap" do
55
before :each do
66
ScratchPad.clear
7-
8-
@proc = lambda { ScratchPad.record :proc_trap }
7+
@proc = -> {}
98
@saved_trap = Signal.trap(:HUP, @proc)
109
end
1110

@@ -48,29 +47,54 @@
4847
ScratchPad.recorded.should be_true
4948
end
5049

50+
it "registers an handler doing nothing with :IGNORE" do
51+
Signal.trap :HUP, :IGNORE
52+
Process.kill(:HUP, Process.pid).should == 1
53+
end
54+
5155
it "ignores the signal when passed nil" do
5256
Signal.trap :HUP, nil
5357
Signal.trap(:HUP, @saved_trap).should be_nil
5458
end
5559

56-
it "accepts 'DEFAULT' as a symbol in place of a proc" do
60+
it "accepts :DEFAULT in place of a proc" do
5761
Signal.trap :HUP, :DEFAULT
58-
Signal.trap(:HUP, :DEFAULT).should == "DEFAULT"
62+
Signal.trap(:HUP, @saved_trap).should == "DEFAULT"
5963
end
6064

61-
it "accepts 'SIG_DFL' as a symbol in place of a proc" do
65+
it "accepts :SIG_DFL in place of a proc" do
6266
Signal.trap :HUP, :SIG_DFL
63-
Signal.trap(:HUP, :SIG_DFL).should == "DEFAULT"
67+
Signal.trap(:HUP, @saved_trap).should == "DEFAULT"
6468
end
6569

66-
it "accepts 'SIG_IGN' as a symbol in place of a proc" do
70+
it "accepts :SIG_IGN in place of a proc" do
6771
Signal.trap :HUP, :SIG_IGN
68-
Signal.trap(:HUP, :SIG_IGN).should == "IGNORE"
72+
Signal.trap(:HUP, @saved_trap).should == "IGNORE"
6973
end
7074

71-
it "accepts 'IGNORE' as a symbol in place of a proc" do
75+
it "accepts :IGNORE in place of a proc" do
7276
Signal.trap :HUP, :IGNORE
73-
Signal.trap(:HUP, :IGNORE).should == "IGNORE"
77+
Signal.trap(:HUP, @saved_trap).should == "IGNORE"
78+
end
79+
80+
it "accepts 'SIG_DFL' in place of a proc" do
81+
Signal.trap :HUP, "SIG_DFL"
82+
Signal.trap(:HUP, @saved_trap).should == "DEFAULT"
83+
end
84+
85+
it "accepts 'DEFAULT' in place of a proc" do
86+
Signal.trap :HUP, "DEFAULT"
87+
Signal.trap(:HUP, @saved_trap).should == "DEFAULT"
88+
end
89+
90+
it "accepts 'SIG_IGN' in place of a proc" do
91+
Signal.trap :HUP, "SIG_IGN"
92+
Signal.trap(:HUP, @saved_trap).should == "IGNORE"
93+
end
94+
95+
it "accepts 'IGNORE' in place of a proc" do
96+
Signal.trap :HUP, "IGNORE"
97+
Signal.trap(:HUP, @saved_trap).should == "IGNORE"
7498
end
7599

76100
it "accepts long names as Strings" do
@@ -92,26 +116,6 @@
92116
Signal.trap :HUP, @proc
93117
Signal.trap(:HUP, @saved_trap).should equal(@proc)
94118
end
95-
96-
it "accepts 'SIG_DFL' in place of a proc" do
97-
Signal.trap :HUP, "SIG_DFL"
98-
Signal.trap(:HUP, @saved_trap).should == "DEFAULT"
99-
end
100-
101-
it "accepts 'DEFAULT' in place of a proc" do
102-
Signal.trap :HUP, "DEFAULT"
103-
Signal.trap(:HUP, @saved_trap).should == "DEFAULT"
104-
end
105-
106-
it "accepts 'SIG_IGN' in place of a proc" do
107-
Signal.trap :HUP, "SIG_IGN"
108-
Signal.trap(:HUP, "SIG_IGN").should == "IGNORE"
109-
end
110-
111-
it "accepts 'IGNORE' in place of a proc" do
112-
Signal.trap :HUP, "IGNORE"
113-
Signal.trap(:HUP, "IGNORE").should == "IGNORE"
114-
end
115119
end
116120

117121
describe "Signal.trap" do

0 commit comments

Comments
 (0)