1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/test/-ext-
normal b3d126d5de rb_wait_for_single_fd: do not OOM or segfault with invalid FD on select()
Instead, match the poll() implementation used on Linux for now;
as the Linux poll(2) manpage describes using negative FD to
easily ignore an FD in a larger FD set while (sleeping the given
timeout).  I'm not entirely sure if matching poll() behavior
is a good idea for a single FD, but it's better than segfaulting
or NoMemoryError.

* thread.c (init_set_fd): ignore negative FD
* test/-ext-/wait_for_single_fd/test_wait_for_single_fd.rb
  (test_wait_for_invalid_fd): check values which may trigger
  segfaults or OOM

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-05-27 08:26:47 +00:00
..
array
bignum
bug_reporter
class
debug
exception eval.c: hide internal objects 2017-02-03 06:23:34 +00:00
file
float
funcall
gvl
hash
integer Rename RbConfig::Limits as RbConfig::LIMITS 2017-04-06 02:10:40 +00:00
iseq_load test_iseq_load.rb: refine test_require_integration 2017-02-02 05:43:58 +00:00
iter passed block should keep the lambda-ness 2017-01-01 08:22:02 +00:00
load
marshal
method
num2int Rename RbConfig::Limits as RbConfig::LIMITS 2017-04-06 02:10:40 +00:00
path_to_class
popen_deadlock
postponed_job
proc
rational
st
string test_modify_expand.rb: skip if no overflow 2016-12-22 23:20:00 +00:00
struct fix RSTRUCT_LEN macro in public C API 2017-04-15 00:46:00 +00:00
symbol
time
tracepoint
typeddata
vm
wait_for_single_fd rb_wait_for_single_fd: do not OOM or segfault with invalid FD on select() 2017-05-27 08:26:47 +00:00
win32
test_bug-3571.rb
test_bug-5832.rb
test_notimplement.rb
test_printf.rb
test_recursion.rb