ruby/lib
David Rodríguez e4825a5194 [rubygems/rubygems] Fix another race condition
We also need to protect prior removal of the binstub, otherwise it can
happen that:

* Process A removes prior binstub FOO.
* Process B removes prior binstub FOO (does nothing actually because Process A already removed it).
* Process A writes binstub FOO for gem BAR from the beginning of file.
* Process B writes binstub FOO for gem BAZ from the beginning of file.

Similarly as before, if binstub FOO for gem BAR is bigger that binstub
FOO for gem BAZ, garbage bytes will be left around at the end of the
file, corrupting the binstub.

The solution is to also protect removal of the previous binstub. To do
this, we use a file lock on an explicit `.lock` file.

https://github.com/rubygems/rubygems/commit/d99a80e62d
2024-07-08 14:38:31 +09:00
..
bundler [rubygems/rubygems] Restrict generic `arm` to only match 32-bit arm 2024-07-05 09:02:52 +00:00
cgi [ruby/cgi] Add snake case aliases for escapeURIComponent 2023-11-07 10:22:30 +00:00
did_you_mean [ruby/did_you_mean] Move development dependencies to Gemfile 2024-05-05 23:22:28 +00:00
erb [ruby/erb] Version 4.0.4 2024-01-04 22:34:59 +00:00
error_highlight [ruby/error_highlight] Trim trailing spaces in base.rb 2024-06-07 13:28:23 +00:00
forwardable
irb [ruby/irb] Bump version to v1.14.0 2024-07-06 17:55:00 +00:00
logger [ruby/logger] Add support for symbols in #shift_age 2024-06-06 09:07:49 +00:00
net [ruby/net-http] Update lib/net/http/header.rb 2024-05-30 09:16:15 +00:00
open3 [ruby/open3] Bump up v0.2.1 2023-12-16 11:48:49 +08:00
optparse [ruby/optparse] Fix typo [ci skip] 2024-04-18 10:27:19 +09:00
prism [ruby/prism] (parser) Fix up tokens for empty symbol 2024-06-18 21:18:39 -04:00
random [ruby/securerandom] Update UUID documentation with RFC9562 links 2024-06-20 08:34:31 +00:00
rdoc [ruby/rdoc] Group code object files into the same directory 2024-07-02 10:15:00 +00:00
reline [ruby/reline] Rerender and enter raw mode again by SIGCONT 2024-06-25 00:55:07 +00:00
ruby_vm/rjit Optimized forwarding callers and callees 2024-06-18 09:28:25 -07:00
rubygems [rubygems/rubygems] Fix another race condition 2024-07-08 14:38:31 +09:00
set [ruby/set] Drop support for Ruby 2 2023-12-23 16:50:29 +09:00
syntax_suggest chore: remove repetitive words (#10573) 2024-04-18 15:32:34 +00:00
unicode_normalize
uri Use www.rfc-editor.org for RFC text. 2024-03-28 11:44:45 +09:00
yaml [ruby/yaml] Make PStore support as optional 2024-01-31 05:56:39 +00:00
English.gemspec [ruby/English] Bump up 0.8.0 2023-11-07 07:32:00 +00:00
English.rb [ruby/English] Combine duplicate aliases into single sections to more clearly denote sameness and make more concise. 2023-11-07 07:24:50 +00:00
benchmark.gemspec
benchmark.rb [ruby/benchmark] Bump up 0.3.0 2023-11-06 18:33:03 +09:00
bundled_gems.rb Mark to warn logger as bundled gems for Ruby 3.5 2024-06-05 17:26:50 +09:00
bundler.rb [rubygems/rubygems] Auto switch to locked bundler version even when using binstubs 2024-06-11 13:30:50 +00:00
cgi.rb [ruby/cgi] Bump up 0.4.1 2023-12-05 06:38:55 +00:00
delegate.gemspec
delegate.rb Do not include a backtick in error messages and backtraces 2024-02-15 18:42:31 +09:00
did_you_mean.rb
erb.gemspec
erb.rb
error_highlight.rb
fileutils.gemspec
fileutils.rb [ruby/fileutils] [DOC] FileUtils::VERSION 2024-02-21 16:57:30 +00:00
find.gemspec [ruby/find] find.gemspec: Drop executables dir config 2024-05-17 02:05:31 +00:00
find.rb [ruby/find] Bump up 0.2.0 2023-11-07 12:53:16 +09:00
forwardable.rb
ipaddr.gemspec
ipaddr.rb [ruby/ipaddr] Add IPAddr.cidr to return ip address in cidr notation 2024-04-18 10:27:19 +09:00
irb.rb [ruby/irb] Allow assigning and using local variable name conflicting 2024-06-30 17:13:27 +00:00
logger.rb [ruby/logger] [DOC] Fix broken link 2023-11-07 15:35:37 +09:00
mkmf.rb [Feature #20345] Add `--target-rbconfig` option to mkmf 2024-04-02 14:24:54 +09:00
open-uri.gemspec
open-uri.rb [ruby/open-uri] Bump up 0.4.1 2023-12-07 07:22:20 +00:00
open3.rb Manually sync with https://github.com/ruby/open3/pull/22 and related PRs 2023-11-30 12:21:25 +09:00
optionparser.rb
optparse.rb [ruby/optparse] bump up to 0.5.0 2024-04-15 05:06:46 +00:00
ostruct.gemspec
ostruct.rb Do not include a backtick in error messages and backtraces 2024-02-15 18:42:31 +09:00
pp.gemspec
pp.rb [ruby/pp] Extract pp_hash_pair 2024-02-21 16:45:01 +00:00
prettyprint.gemspec
prettyprint.rb [ruby/prettyprint] Bump up 0.2.0 2023-11-07 01:10:12 +00:00
prism.rb [ruby/prism] Remove Debug module 2024-05-24 17:19:38 +00:00
pstore.gemspec
pstore.rb Do not include a backtick in error messages and backtraces 2024-02-15 18:42:31 +09:00
rdoc.rb [ruby/rdoc] Group code object files into the same directory 2024-07-02 10:15:00 +00:00
readline.gemspec [ruby/readline] Bump up v0.0.4 2023-12-16 13:49:13 +08:00
readline.rb [ruby/readline] Fix readline-ext gem loading in non Unix-like environments 2023-12-16 13:49:12 +08:00
reline.rb [ruby/reline] Refactor input key reading 2024-06-05 04:04:09 +00:00
resolv.gemspec
resolv.rb [ruby/resolv] Bump up 0.4.0 2024-03-19 02:16:51 +00:00
ruby2_keywords.gemspec
rubygems.rb [rubygems/rubygems] Properly protect writing binstubs with a file lock 2024-07-08 14:38:30 +09:00
securerandom.gemspec [ruby/securerandom] Update file list to package 2023-12-29 16:10:30 +00:00
securerandom.rb [ruby/securerandom] Bump up v0.3.1 2023-12-16 12:10:38 +08:00
set.rb [ruby/set] Bump version to 1.1.0 2023-12-23 16:50:33 +09:00
shellwords.gemspec [ruby/shellwords] Exclude unnecessary files from the packages 2024-07-03 10:15:22 +00:00
shellwords.rb [ruby/shellwords] [DOC] Beautify links and formats 2024-07-03 10:15:26 +00:00
singleton.gemspec
singleton.rb [ruby/singleton] Bump up 0.2.0 2023-11-06 09:44:09 +00:00
syntax_suggest.rb
tempfile.gemspec [ruby/tempfile] Fix for environment without git 2024-02-27 01:31:12 +00:00
tempfile.rb Tempfile document updated. 2024-06-02 01:12:26 +09:00
time.gemspec [ruby/time] Exclude unnecessary files from package 2024-03-06 15:47:31 +00:00
time.rb [ruby/time] Document exception thrown by `Time.strptime` 2024-04-19 10:32:04 +00:00
timeout.gemspec [ruby/timeout] Provide a 'Changelog' link on rubygems.org/gems/timeout 2023-12-25 21:12:49 +09:00
timeout.rb [ruby/timeout] [DOC] Missing documents 2023-12-25 21:12:49 +09:00
tmpdir.gemspec [ruby/tmpdir] Fix for environment without git 2024-02-27 01:31:50 +00:00
tmpdir.rb [ruby/tmpdir] Display the offending parent path in the exception 2024-04-08 11:05:40 +00:00
tsort.gemspec
tsort.rb [ruby/tsort] Bump up 0.2.0 2023-11-07 01:59:17 +00:00
un.gemspec
un.rb [ruby/un] Bump up 0.3.0 2023-11-06 09:29:53 +00:00
uri.rb Use www.rfc-editor.org for RFC text. 2024-03-28 11:44:45 +09:00
weakref.gemspec
weakref.rb [ruby/weakref] Bump up 0.1.3 2023-11-07 01:46:40 +00:00
yaml.rb [ruby/yaml] Bump up 0.3.0 2023-11-06 19:03:04 +09:00