Commit graph

64552 commits

Author SHA1 Message Date
Jeremy Evans
54ac1d7717 Support s390 IPv6 link local addresses 2020-11-07 23:42:02 -08:00
Samuel Williams
bed4848661 Urgent notification pipe has same lifetime as scheduler. 2020-11-08 20:40:52 +13:00
Samuel Williams
57b83dad4c Defer kernel_sleep to block to avoid exiting the event loop when duration is nil. 2020-11-08 20:40:52 +13:00
Samuel Williams
c39984ec5c Tidy up book keeping for thread->keeping_mutexes.
When a scheduler is present, it's entirely possible for
`th->keeping_mutexes` to be updated while enumerating the waitq. Therefore
it must be fetched only during the removal operation.
2020-11-08 20:40:52 +13:00
Samuel Williams
f73135233b Don't try to resume blocked fiber on dead thread. 2020-11-08 20:40:52 +13:00
Samuel Williams
afe3cb782b Fiber.new(blocking: false) is now the default. 2020-11-08 20:40:52 +13:00
Jeremy Evans
2f12af42f7 Add support for IPv6 link local addresses to resolv
Now that it should work correctly, test that every address returned
by Socket.ip_address_list is resolvable.

Socket works with IPv6 link local addresses, and ipaddr now does
as well, so I think resolv should support them.

Fixes [Bug #17112]
2020-11-07 13:47:45 -08:00
git
fcde1e0e62 * 2020-11-08 [ci skip] 2020-11-08 06:12:48 +09:00
Jeremy Evans
9682db0651 Remove sender/message_id pair after response received in resolv
Once a response for a given DNS request has been received (which
requires a matching message id), the [sender, message_id] pair
should be removed from the list of valid senders.  This makes it
so duplicate responses from the same sender are ignored.

Fixes [Bug #12838]
2020-11-07 13:12:27 -08:00
Kazuki Tsujimoto
5823f6c25b
Fix indentation 2020-11-07 22:12:22 +09:00
Kazuki Tsujimoto
640fd94eff
Fix and remove spec testing undefined behavior 2020-11-07 22:05:20 +09:00
Samuel Williams
5b3572b5ae Update dependencies 2020-11-07 23:39:50 +13:00
Samuel Williams
a08ee8330d Rename to Fiber#set_scheduler. 2020-11-07 23:39:50 +13:00
git
656d4cddaf * 2020-11-07 [ci skip] 2020-11-07 02:55:52 +09:00
Alan Wu
f234f2740d Add docs for some C extension GC APIs 2020-11-06 09:55:26 -08:00
Hiroshi SHIBATA
037803e092
Added dependency for net-protocol 2020-11-06 17:42:57 +09:00
Koichi Sasada
7718e9588b a part of T_DATA object can Ractor#send
T_DATA objects can refer unshareable objects and they should be
copied recursively, however there is no way to replace with copied
unshareable objects. However, if a T_DATA object refers only
shareable objects, there is no need to replace. So this kind of
T_DATA object (such as Time, Dir, File::Status and so on) can be
sent by Ractor.send.
2020-11-06 16:14:36 +09:00
Yusuke Endoh
4948982b53 Update TypeProf to 0.4.2 2020-11-06 13:28:58 +09:00
Aaron Patterson
6d17c9fa5d
gc_rest can change the total pages, so we need to do that first 2020-11-05 12:28:50 -08:00
Aaron Patterson
d8da5c1983
add asserts to find crash 2020-11-05 12:27:09 -08:00
Aaron Patterson
ab5f2fa4fb
Refactor verification method
Combine everything in to one C function
2020-11-05 11:13:04 -08:00
Aaron Patterson
68a3a2d90f
take VM lock when mutating the heap 2020-11-05 08:51:40 -08:00
git
193edbde91 * 2020-11-06 [ci skip] 2020-11-06 00:12:16 +09:00
Soutaro Matsumoto
8014ed9bd2
Update RBS & TypeProf (#3732)
* Bundle rbs 0.16.0

* Bundle typeprof 0.4.1
2020-11-06 00:11:48 +09:00
NARUSE, Yui
3407b7d8a6 Revert "Prefer #send over #__send__ when it is clear there is no possible conflict"
This reverts commit 4dba0c1a8e.

Matz's comment is "send is not deprecated. __send__ is safer".
But "Prefer #send over #__send__" is not reasonable.
2020-11-05 20:54:34 +09:00
NARUSE, Yui
b29fe5eb2d Add description __send__ is safer 2020-11-05 20:51:48 +09:00
Hiroshi SHIBATA
b2ca183cc9
Promote un.rb to the default gems. It's preparation for 3.0.0-preview2. 2020-11-05 20:21:31 +09:00
Benoit Daloze
4dba0c1a8e Prefer #send over #__send__ when it is clear there is no possible conflict
* Reverts part of 3198e7abd7.
* If the rule is #send should be deprecated, that should be ruled by matz,
  there is no such rule currently and gems seem to prefer #send
  overwhelmingly.
2020-11-05 11:23:27 +01:00
Marc-Andre Lafortune
2aa9a50dcc [ruby/ostruct] Update version 2020-11-04 17:52:03 -05:00
Marc-Andre Lafortune
015b023820 [ruby/ostruct] Restore ostruct doc 2020-11-04 17:52:03 -05:00
Marc-Andre Lafortune
6f24be8565 Revert "Make marshal_load public"
This reverts commit ee7cc6ac35.

I'm not sure I agree with the spec, but I just tweaked it.
2020-11-04 17:52:03 -05:00
git
9232f91827 * 2020-11-05 [ci skip] 2020-11-05 07:41:17 +09:00
Aaron Patterson
70680feeea Simplify setting instance variables
Since T_OBJECT objects come to life as embedded objects, that means that
ROBJECT_NUMIV will always return a _minimum_ of ROBJECT_EMBED_LEN_MAX.
If ivup.index is *greater* than ROBJECT_NUMIV, then we know that the
object *must not* be an embedded object. Thus we can skip the
ROBJECT_EMBED_LEN_MAX check as well as initializing internals of
embedded objects.
2020-11-04 14:40:50 -08:00
Aaron Patterson
a8581ce673 ensure T_OBJECT objects have internals initialized 2020-11-04 14:40:50 -08:00
Kazuhiro NISHIYAMA
704fb0b815
Suppress a warning
```
transient_heap.c: In function ‘transient_heap_allocatable_header’:
transient_heap.c:347:37: warning: comparison of integer expressions of different signedness: ‘int16_t’ {aka ‘short int’} and ‘long unsigned int’ [-Wsign-compare]
  347 |         TH_ASSERT(block->info.index <= TRANSIENT_HEAP_USABLE_SIZE);
      |                                     ^~
```
2020-11-04 18:45:48 +09:00
Yusuke Endoh
d42c68e912 Bundle TypeProf 0.4.0 2020-11-04 17:07:01 +09:00
Hiroshi SHIBATA
f211f9cda4
use https 2020-11-04 13:30:27 +09:00
卜部昌平
ae53fda013 .travis.yml: delete x86_64
Is already covered by Github Actions.
2020-11-04 12:11:13 +09:00
卜部昌平
4c6700964d .travis.yml: delete sanitizer tests
They were not working.
2020-11-04 12:11:13 +09:00
卜部昌平
8eca97c049 .github/workflows/baseruby.yml: add
Translate a part of .travis.yml into a Github Actions workflow.
2020-11-04 12:11:13 +09:00
Jeremy Evans
bf1047c757 Update NEWS for Array methods change 2020-11-03 14:09:20 -08:00
Jeremy Evans
2a294d499b
Make Array methods return Array instances instead of subclass instances
This changes the following methods to return Array instances instead
of subclass instances:

* Array#drop
* Array#drop_while
* Array#flatten
* Array#slice!
* Array#slice/#[]
* Array#take
* Array#take_while
* Array#uniq
* Array#*

Fixes [Bug #6087]
2020-11-03 14:01:38 -08:00
git
7d6c72dc06 * 2020-11-04 [ci skip] 2020-11-04 00:55:00 +09:00
Kazuki Tsujimoto
700637570f
Rightward assignment is replaced by one-line pattern matching 2020-11-04 00:51:44 +09:00
Yusuke Endoh
c3e2dd072a test/ruby/test_gc_compact.rb: suppress "assigned but unused variable" 2020-11-03 23:32:40 +09:00
Kazuhiro NISHIYAMA
fa7484019d
Add links to the tickets [ci skip] 2020-11-03 10:25:52 +09:00
Luciano Sousa
4f7d27a210 Fix typo in the auto compact announcement [ci-skip]
I'm sorry, but I think there is a typo here.

This fix will help folks who are trying to translate this announcement to other languages. I hope this is not a joke and I didn't get it 🙏
2020-11-02 16:48:21 -08:00
git
46f3b68fbf * 2020-11-03 [ci skip] 2020-11-03 07:43:29 +09:00
Aaron Patterson
67b2c21c32
Add GC.auto_compact= true/false and GC.auto_compact
* `GC.auto_compact=`, `GC.auto_compact` can be used to control when
  compaction runs.  Setting `auto_compact=` to true will cause
  compaction to occurr duing major collections.  At the moment,
  compaction adds significant overhead to major collections, so please
  test first!

[Feature #17176]
2020-11-02 14:42:48 -08:00
Nobuyoshi Nakada
79b242260b
ripper: Invalid pragma value warning 2020-11-02 22:49:42 +09:00