| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
| |
on Android
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Using Fiber#transfer with Fiber#resume for a same Fiber is
limited (once Fiber#transfer is called for a fiber, the fiber
can not be resumed more). This restriction was introduced to
protect the resume/yield chain, but we realized that it is too much
to protect the chain. Instead of the current restriction, we
introduce some other protections.
(1) can not transfer to the resuming fiber.
(2) can not transfer to the yielding fiber.
(3) can not resume transferred fiber.
(4) can not yield from not-resumed fiber.
[Bug #17221]
Also at the end of a transferred fiber, it had continued on root fiber.
However, if the root fiber resumed a fiber (and that fiber can resumed
another fiber), this behavior also breaks the resume/yield chain.
So at the end of a transferred fiber, switch to the edge of resume
chain from root fiber.
For example, root fiber resumed f1 and f1 resumed f2, transferred to
f3 and f3 terminated, then continue from the fiber f2 (it was continued
from root fiber without this patch).
|
|
|
|
| |
Attempting to create a hard link raises EACCES
|
|
|
|
|
|
| |
As [Bug #16662] lchmod available in linux since glibc 2.31.9000, a
system call may exist or not exist depending on the version. It
is not a spec nor responsibility of Ruby.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On Android, STDERR seems to be open even its invoker closes it.
http://rubyci.s3.amazonaws.com/android29-x86_64/ruby-master/log/20201001T014315Z.fail.html.gz
```
1)
Process.spawn closes STDERR in the child if :err => :close FAILED
Expected (59840): "out\nrescued\n"
but got: "out\n"
```
|
|
|
|
| |
Patch adapted from Pietro Monteiro [Fixes bug#8382]
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds the following C-API functions that can be used to emit
warnings with categories included:
```c
void rb_category_warn(const char *, const char*, ...)
void rb_category_warning(const char*, const char*, ...)
```
Internally in error.c, there is an rb_warn_category function
that will call Warning.warn with the string and the category
keyword if it doesn't have an arity of 1, and will call
Warning.warn with just the string if it has an arity of 1.
This refactors the rb_warn_deprecated{,_to_remove} functions
to use rb_warn_category.
This makes Kernel#warn accept a category keyword and pass it
to Warning.warn, so that Ruby methods can more easily emit
warnings with categories. rb_warn_category makes sure that
the passed category is a already defined category symbol
before calling Warning.warn.
The only currently defined warning category is :deprecated,
since that is what is already used. More categories can be
added in later commits.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
In an executable script, the shebang line should be the first line (the
file needs to start with the bytes 0x23 0x21). Putting a comment above
it will break the script.
(Regression test included per @deivid-rodriguez)
https://github.com/rubygems/rubygems/commit/962e669feb
|
|
|
|
|
| |
Matz want to try to freeze all Range objects.
[Feature #15504]
|
|
|
|
|
| |
Now taint flag is obsolete and it is used fro shareaable flag.
So we should not check this flag.
|
|
|
|
| |
And `-w` option turns it on.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
refinement"
This reverts commit eeef16e190cdabc2ba474622720f8e3df7bac43b.
This also reverts the spec change.
Preventing the SystemStackError would be nice, but there is valid
code that the fix breaks, and it is probably more common than cases
that cause the SystemStackError.
Fixes [Bug #17182]
|
| |
|
| |
|
| |
|
|
|
|
| |
s/overriden/overridden/
|
| |
|
|
|
|
|
| |
Also improve specs and documentation for finalizers and more clearly
recommend a safe code pattern to use them.
|
| |
|
|
|
|
|
| |
* Remove freezestring instruction since this was the only usage for it.
* [Feature #17104]
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* Enables Mutex to be used as synchronization between multiple Fibers
of the same Thread.
* With a Fiber scheduler we can yield to another Fiber on contended
Mutex#lock instead of blocking the entire thread.
* This also makes the behavior of Mutex consistent across CRuby, JRuby and TruffleRuby.
* [Feature #16792]
|
|
|
|
|
| |
Start with https://github.com/ruby/ruby/commit/fa21985a7a2f8f52a8bd82bd12a724e9dca74934
to https://github.com/ruby/ruby/commit/d7492a0be885ea9f2b9f71e3e95582f9a859c439
|
|
|
|
| |
Fixes [Bug #14895]
|
|
|
|
| |
[Feature #15547] [Fix GH-2071]
|
|
|
|
|
|
| |
Has been deprecated since 2069c9e031fc968d6d3d0fe30a9316851e4d91d8.
[Feature #17125][ruby-core:99636]
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
https://bugs.ruby-lang.org/issues/17131
|
|
|
|
|
|
|
| |
`llvm-strip-7` is a sane valid strip command that LLVM 7 ships, albeit
it does not understand `--version`. It is a bad idea to check that
option. Instead just see if the command actually strips something. A
copy of `/bin/sh` should suffice. That file must be ubiquitous.
|
|
|
|
|
|
|
|
|
| |
* Fix debug documents to match Thread#to_s change (Feature #16412 ticket)
* TracePoint#inspect returns "... file:line" (Feature #16513)
* Guard older version of Ruby in Tracepoint inspection tests
* Focus on current thread only when running TracePoint inspection test
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/d81ce9e457
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Get rid of affects by default external encoding.
|