a6a4e86029f16415767b579e62691f09b1fb6075
|
2019-06-05 |
Ignore `/build*`. |
3fd83cb6fcc483d2eac0795bc139c521a3a59bd2
|
2019-06-05 |
Improve benchmarks and tests for threads. |
69195fd9b26d4585ad0d13d45ce9fd7b7ebac154
|
2019-06-19 |
Show thread and fiber limits as part of bootstrap tests. |
b24603adff8ec1e93e71358b93b3e30c99ba29d5
|
2019-06-04 |
Move vm stack init into thread. |
7c7a1c221281cdba1f48d5e42ee2f9af306d27f8
|
2019-06-05 |
Fix handling of vm_stack_size and avoid trying to deallocate it. |
38791145ebc6890b97ea55ee490084c63b67f3cc
|
2019-06-05 |
Better handling of root fiber. |
4b3b781c66c48604a013557172540effd929f96a
|
2019-06-05 |
Ensure execution context is cleared after thread is finished. |
b8e4bea7806f481efab42f8d88ecba783c709042
|
2019-06-05 |
Track how stack was allocated for `cont_free`. |
8121a523c3ea68898016ab3984b6c0240ff66995
|
2019-06-05 |
Use stack size defaults for win32 threads. |
5855af73b8d7233bcdb18b6dda5c0058cbc315bf
|
2019-06-05 |
Basic assertions for thread initialization. |
9cb4e7725f668318d08cb79b1459a04eadf2f925
|
2019-06-05 |
Handle (empty) backtrace when thread is not born yet. |
7cc7269b3d3e3aff518a6cd05971422351253957
|
2019-06-05 |
Use default stack size for worker thread (no th pointer available). |
561c9bcf3a1ce33e51c2c03e88aa3103d42f5af9
|
2019-06-05 |
Make sure `alloca` fast path is used (inline assembler). |
dee0cfbb4757ca954853de48814367c51f255933
|
2019-06-06 |
Specify that size is non-committed memory. |
714703805370767efb859078d5095a014417a692
|
2019-06-19 |
Update `stack_start` and `stack_maxsize` according to stack direction. |
cb5da39f20a17bd73e791dca1e7e1832f0adbc53
|
2019-06-19 |
Use shared implementation of `rb_ec_initialize_vm_stack`. |
3e5b885cd271e42ba4cb39dc8e612714f88ec889
|
2019-06-19 |
Rework debug conditional. |
d17344cfc56edc4599252041b3ec0d46af0851fd
|
2019-06-19 |
Remove IA64 support. |
2abe548f356756788db7f893b221938a5f775ccd
|
2019-06-19 |
Don't change vm_stack/cfp without acquiring gvl first. |
91c4ef01512d1ba285ccb3c3cb03e611257790e8
|
2019-06-19 |
Don't try to dereference NULL cfp. |
25049a6e818d879aecb88379753f1e215b915f93
|
2019-06-19 |
Extra assertions around thread. |
626483721ae297ecb641a36b7bb39fc6d6490c82
|
2019-06-19 |
Set `cfp` to null (along with vm_stack) in `rb_fiber_close`. |
6bf1285b2069ff736e283a1f8328852e3175fccc
|
2019-06-20 |
Fix typo in VM_ASSERT. |
dbc2b89bc042d73e60aeb7d56686aa28d82e2622
|
2019-06-20 |
Ensure `vm_stack` is cleared after fork. |
15c4f6aed29b4f9f8d2c911548ac87756239b592
|
2019-06-20 |
Skip `rb_ec_clear_vm_stack` for now. |
7d9d1ed463323fe28f24d0b94212c2cb7ad109bd
|
2019-06-20 |
Don't clear cfp, it causes problems. |
c26c51449461e3c8ee9bb4e1800933fb3d3caf67
|
2019-06-20 |
Revert failed attempt at fixing invalid usage of vm_stack. |
e4cafa393f8fd4aa207f20b1d122884b4de99cf1
|
2019-06-19 |
Ensure that vm_stack is cleared in `thread_cleanup_func_before_exec`. |
f607e433520218ac2adc93fcf32bc3b797219a60
|
2019-06-20 |
Transition root fiber into state FIBER_TERMINATED. |
9e7a8a4351de0690b3d531c4be4fbb6fc8f4f813
|
2019-06-20 |
Only ignore build directories. |
096a45d3d2c6ab0c40ec2d41bdb3a26cda091e6b
|
2019-06-23 |
Update NEWS. |
a071bed7a5041e3d3e7029f73c3f09a9f6cdfd98
|
2019-06-24 |
Print warning if not using native coroutine. |
abdbfebad11471e76e1e9756de7f9bc14bd30355
|
2019-06-24 |
Use spaces for indentation in `configure.ac`. |
0e6396d2ac8bc3803742655896bb0fad70007dda
|
2019-06-24 |
Try using arm64 implementation for fibers. |
518adcca0a2c611c4a94eaa778f9dcec4aff03f9
|
2019-06-24 |
Try using arm32 implementation for fibers. |
dbe232e24e56cb200b8e5b78062c8a2784a792e9
|
2019-06-25 |
Order of arguments might be incorrect in arm32 coroutine implementation. |
6c6bf9ffcbfeb8be9d9c342e7604b74ec819e88a
|
2019-06-24 |
Add `ucontext` coroutine implementation for generic fallback. |
acb67472c7da459812aa9008cf8cfbedcdddea67
|
2019-06-26 |
Restore updated implementation of arm32 coroutine code, but prefer ucontext. |
012e954b472d2e47b03647ac0c8f745416d7db58
|
2019-06-02 |
Improved fiber benchmarks. Increase number of iterations. |
5c8061a9e2a34df975846d724273cb5be7d74a7c
|
2019-07-07 |
Make `stack_check` slightly easier to use in debugger. |
a2adcd40df96acd1218cc60dc1810e83dbc124d8
|
2019-06-03 |
Add note about `STACK_GROW_DIR_DETECTION`. |
47500f2055467d0c72c7ce53b2535d7610347fb0
|
2019-03-14 |
[ruby/logger] Add support for changing severity using bang methods. |
3fdb963827fde7fbe1837763cb834842b8336fee
|
2019-03-20 |
[ruby/logger] Prefer require_relative, it's a little bit faster. |
2c22051b4b54482531e43915f5edef0c3d3a053b
|
2019-03-21 |
[ruby/logger] Enable `frozen_string_literal: true` in `logger.rb`. |
9b28eefeb2cea9690b897aeb3a1e1de2cbc19137
|
2019-07-17 |
Add benchmark to help diagnose performance regression. |
1b82c877dfa72e8505ded149fd0e3ba956529d3f
|
2019-06-01 |
Make FIBER_USE_NATIVE the default and reformat code. |
14cf95cff35612c6238790ad2f605530f69e9a44
|
2019-06-02 |
Implement fiber pool for reduced fiber allocation overhead. |
8779382da44723438eb6cae23bd7267990157433
|
2019-06-19 |
Remove unused vm_stack recycling. |
91aae651bf90be46773a246e4c46b9e221353fbd
|
2019-06-27 |
Stack copying implementation of coroutines. |
7291fef55c90b9ab6b3c22018b16972861b98c9d
|
2019-06-29 |
Improve build process and coroutine implementation selection. |
b8242bce2301e33d3ba1fae95b68a291cc3004b5
|
2019-06-29 |
Add `ucontext` and `copy` coroutine implementations to test matrix. |
47c0cab248ca09deb9508ff29edfd1dfc11b5f31
|
2019-07-01 |
Add details of fiber pool and coroutine selection to NEWS. |
77f3319071e600a2aafaa9863b892dfd3c1da343
|
2019-07-11 |
Enable `madvise` to release stack space back to OS. |
8ac9a7be0fea95d9fc17cce53c0d18d70cc8d091
|
2019-07-12 |
Limit expansion of fiber pool on 32-bit platforms. |
4d60a5820ae2c7bc2ce5bee441b834129a3a56e1
|
2019-07-16 |
Add FIBER_POOL_ALLOCATION_FREE to control allocation/free strategy. |
385ea910fc28f0e46c72669a260e44d4f3f37d9e
|
2019-07-16 |
Add `struct fiber_pool {int free_stacks;}` to control usage of madvise. |
001f187ed6539f320421d8893d2f3c8f584cc3a5
|
2019-07-16 |
Make fiber_pool more conservative on platforms with limited address space. |
56fcf988495ec1b36655534f4cc2ae786e2ab8c5
|
2019-07-16 |
Add note about setting `vm.max_map_count` for Linux. |
311007bf403160b978e015997ad5076a229290da
|
2019-07-16 |
Add experimental `RUBY_SHARED_FIBER_POOL_FREE_STACKS` to control madvise. |
38e3c65a33aa7bcd4cee922487e259a8da699831
|
2019-07-18 |
Improve `fiber_pool_expand` allocation strategy. |
9790b778a339f36f9b29517a1d762cf02a2f0293
|
2019-07-18 |
Ensure we don't have dangling cfp. |
9dda0a03cc19d0ca20fc8fc220760e37cb5b9f02
|
2019-07-18 |
Remove `rb_vm_push_frame` as it is no longer used. |
d7fdf45a4ae1bcb6fac30a24b025d4f20149ba0a
|
2019-07-18 |
Ensure cfp is initialized to NULL. |
8ca32020b03a4f3e69c8f0b15e015eb7ad5d8e05
|
2019-07-18 |
Revert "Ensure cfp is initialized to NULL." |
6eef80d824aa4aca91ff13ea215f5cd053d16906
|
2019-07-19 |
Improve ec assertions. |
cf93f98a609d8a48e3b69790bc38ae9edf8aa687
|
2019-07-19 |
Better usage of `rb_ec_clear_vm_stack` to maintain invariants. |
dd0e33f0839124a910f4eb0bb67423e041036645
|
2019-07-19 |
Split assertions to check which one fails. |
e14f5762c532241706ad5bd8f81b520c46d97654
|
2019-07-19 |
Add assertions to `coroutine_initialize_main`. |
547f574b639cd8586568ebb8570c51faf102c313
|
2019-07-19 |
In some situations, `vm_stack` can be NULL, but `cfp` is valid. |
e004afd46d3bd27bda4c4922eadcf11c7e4bfc55
|
2019-07-19 |
Ensure that madvise does not clobber vacancy data. |
517f7f9b578f8f48ce80dfbe5c8e61b4f8ebd1d4
|
2019-07-19 |
Fix 32-bit build and typo. |
0a7093a8e9277d9f459b2c14f2eade02eed15e28
|
2019-07-19 |
Add documentation to `fiber_pool_allocate_memory`. |
c584dd8460bdbb78b0e5ab47a1c15b2df2c45ded
|
2019-07-20 |
Move travis coroutine check to cron only. |
9699a5c5bcb9e1483f21efdf7e5cb9bf0a6279fb
|
2019-09-14 |
Update news regarding `Fiber#raise`. |
78e266da1dede1c81e634982e76a129c5720d80e
|
2019-11-19 |
Clarify documentation for `InstructionSequence#compile`. |
f96216df8dfd2d1e206150572912289f4dda7386
|
2019-12-27 |
Remove "All Rights Reserved." from Copyright statement. |
bf04fe086bca47184c6ab13603e064b3c0e88d8e
|
2019-12-27 |
Remove "All Rights Reserved." from Copyright statement. |
844ff7ea45b79e95eaed4b725fd0cf5c33874058
|
2019-12-27 |
[ruby/uri] Simplify construction of URI instances using parser interface. |
b24f7dbcfd605b41e7b510488e30832bd8a1a9ea
|
2020-03-26 |
[rubygems/rubygems] Update util.rb |
0e3b0fcdba70cf96a8e0654eb8f50aacb8024bd4
|
2020-05-14 |
Thread scheduler for light weight concurrency. |
6fa8455ebbf457e5d8752295a8d6380146636c0c
|
2020-05-15 |
Move `test/scheduler` -> `test/fiber` [Bug #16892][ruby-core:98366]. |
4bff8e84232594ecb9914e2a8437b7c40a63b799
|
2020-06-04 |
Ensure that the head of the vacancy list is correctly inserted into the linked list. |
238464863a039b1d36f009d4447fab42f1a855bf
|
2020-07-15 |
Remove fiber HTTP test. |
a3ac1bf450d2aa0c6b0b34fee417992b4352ff2c
|
2020-07-18 |
Add more timeouts to macos, mjit, ubuntu and windows workflows. |
e6e9cef06e9023a80991518297d9f2c0c12488ce
|
2020-07-16 |
Improve consistency of tests. |
9f6a3d030682e9f99c77c2ef31881f9801c3979e
|
2020-07-18 |
Add multi-threaded I/O test. |
f3462d99a3dd8d535eda287b000cb035bade522c
|
2020-07-18 |
Rename `rb_current_thread_scheduler` to `rb_thread_scheduler_if_nonblocking`. |
1b3a6847be83ed1269b6eb87016c721ca33da8e5
|
2020-07-20 |
Move declarations to private `internal/thread.h` header. |
c45f5ff2b0b801a94ffe761d83a46760c3d6d33d
|
2020-08-17 |
Clarify coroutine implementation license. |
0a218a97ad31f06eb7f59ccdd428fd46c4b93982
|
2020-08-15 |
Expose ec -> backtrace (internal) and use it to implement fiber backtrace. |
c12b2703bc05f8c7eaaace49253f63a5e0f28273
|
2020-08-25 |
Add `RB_` prefix for size_t to number conversion. |
b22b3f03f46cb3c4e3e6fb55d23ae7fccaa19359
|
2020-09-06 |
Increase timeout for GitHub Actions. |
703e529751deb086a46a9c029ce38d4fff14e84c
|
2020-08-20 |
Add `rb_thread_current_scheduler()`. |
6747cb575414cf781c79c263f68d7b70778efa24
|
2020-08-20 |
Add RB_ prefix to `GetOpenFile` and `MakeOpenFile`. |
905e9c8093b2bb06def609975929465be0f41a0c
|
2020-08-20 |
Simplify bitmasks for IO events. |
d387029f39d976565c955377117103499d47ff09
|
2020-08-20 |
Standardised scheduler interface. |
132453fa521cf87693035769031f3501ddc02f4a
|
2020-08-20 |
Rename `Fiber{}` to `Fiber.schedule{}`. |
701dcbb3ca9bf04b61cc07156608c61aaf9173f0
|
2020-08-20 |
Add support for hooking `IO#read`. |
9e0a48c7a31ecd39be0596d0517b9d521ae75282
|
2020-09-05 |
Prefer `rb_thread_current_scheduler`. |
3dc0fc11f0e21087c96781cce2360f5f6a26c7c6
|
2020-09-05 |
Update dependencies |
1a0cfe28390ce5d46f7b854eaad2b9b979c160de
|
2020-09-06 |
Improve handling of urgent notification pipe. |
0f613cc5f1bbe319ab916be905de263523ef5402
|
2020-09-11 |
Add support for ConditionVariable. |
8eea66a0ca8965ae8319b4c404f61c4d46866f64
|
2020-09-13 |
Add support for Queue & SizedQueue. |
7fca27419846f76f978f3bbef2d2db3e1bf688e7
|
2020-09-14 |
Rework console to use `rb_io_wait`. |
a9b2a96c5cfa5ab36c89ffae82e28eb733e36542
|
2020-09-15 |
Fix incorrect initialization of `rb_io_t::self`. |
026ba68c1056fb6729868456fba3382f8b9a0fcf
|
2020-09-15 |
Fix handling of FMODE_PREP. |
f75009c1222621836b2340bbb5f4d4274972ccb4
|
2020-09-16 |
Prefer to use `prep_io` for temporary IO instances. |
501fff14c7657f769d68f90de98fd2ebccb807fb
|
2020-09-19 |
When setting current thread scheduler to nil, invoke `#close`. |
70f08f1eed1df4579fef047d28fc3c807183fcfa
|
2020-09-20 |
Make `Thread#join` non-blocking. |
f7aa51b2b8fe576f33d15cbcbb28723116fb0885
|
2020-09-21 |
Update NEWS & documentation relating to scheduler. |
10d795cfca7ec688e0dead63568277ea37e4977b
|
2020-09-21 |
Add NEWS about `Fiber#backtrace` and `Fiber#backtrace_locations`. |
388281c5c92d4c04bfb08aeac7513770de9ea128
|
2020-09-30 |
Fix order of operations during `rb_ec_finalize`. |
13660105e225df0a4fc1f91b8c9618261e5761f3
|
2020-10-01 |
Don't call `Scheduler#close` if it doesn't exist. |
7f2902059031ffe0dad35c9832e4be33d57c5588
|
2020-10-01 |
Raise an exception if the scheduler was already closed. |
dd2e95fb26b89ce060631af0fd372b5780a443dd
|
2020-10-01 |
Remove `Thread.scheduler` from public interface. |
a88fe61a3e3079fd4bd0172374dfa8bd229a90d5
|
2020-10-01 |
Rework `rb_ec_scheduler_finalize` to ensure exceptions are printed. |
2db081b5ffb07a2e6bdac58122fa3466830b12a9
|
2020-10-01 |
Don't use `th->scheduler` directly because it's not always valid to do so. |
a08ee8330d3d739467bfa34deeb797d83e59ed3c
|
2020-10-16 |
Rename to `Fiber#set_scheduler`. |
5b3572b5aec742a2a6355f0212a84759983a6b4e
|
2020-11-07 |
Update dependencies |
afe3cb782bbdb5ef38c865b1c857e6cd9083e978
|
2020-11-08 |
`Fiber.new(blocking: false)` is now the default. |
f73135233b1437eb2cc6a5c8c732adca1dbd41f2
|
2020-11-08 |
Don't try to resume blocked fiber on dead thread. |
c39984ec5cc6dc94eb0c0e4169e7160f71e89240
|
2020-11-08 |
Tidy up book keeping for `thread->keeping_mutexes`. |
57b83dad4cd3c7d4b2a29829a1cb194c9b5ee9d1
|
2020-11-08 |
Defer `kernel_sleep` to `block` to avoid exiting the event loop when duration is nil. |
bed4848661d4a0397b36f481c0c0940277cc31f8
|
2020-11-08 |
Urgent notification pipe has same lifetime as scheduler. |
7b126a82a921c991f8121f62e094a62a5f0edb30
|
2019-07-09 |
Simplify `ipaddr.gemspec`. |
d65621b636e1eb89696f13f4076e53d54710cb3f
|
2019-07-09 |
Specify minimum version. |
15e23312f6abcbf1afc6fbbf7917a57a0637f680
|
2020-10-03 |
Rework the order of operations to avoid stack smashing. |
3b5b309b7b3724849c27dc1c836b5348a8a82e23
|
2020-11-09 |
Proposed method for dealing with stack locals which have non-local lifetime. |
09229c71bcdc82b2e7c3138baa4cb2696b97ec5d
|
2020-12-08 |
Fix "Ruby is not properly fortified on armv7hl". |
2553c5f94a5d51c2c5876b31e4c1521ad9be12f6
|
2020-12-07 |
Add support for non-blocking `Process.wait`. |
93a56a5e98875ed619fe5c29f401a8a43632dbed
|
2020-12-21 |
Update fiber scheduler documentation. |
5f69a7f60467fa58c2f998daffab43e118bff36c
|
2021-02-09 |
Expose scheduler as public interface & bug fixes. (#3945) |
4c53dc970bf82e4c5fb237be4b2404bcb07496d2
|
2021-02-11 |
Add hook for `Timeout.timeout`. |
9b9bbaec111c34d15d75750e300d94fb5c30c8b1
|
2021-02-11 |
Update lib/timeout.rb |
c05dd7dc85311d1a62204aff5f633e758efae949
|
2021-02-11 |
Prefer `rb_check_funcall`. |
09c865d541472366550804ef09bf14e22a193644
|
2021-02-12 |
Fix native implementation. |
511acba4aeb3e35cf025a8a6cde4241b7b5167f3
|
2020-12-26 |
Update method name and add documentation. |
af1c587546c34190721bb8b72e86985e9b79bdc6
|
2021-02-12 |
Improve timeout tests. |
92449e0e99ae0e44f0deec5e59a7146824872952
|
2021-02-12 |
Fix handling of timeout accessing scheduler outside of non-blocking context. |
3d32c217586a48c709b762865a8abc46f9098455
|
2021-03-30 |
Disable public interface for now. |
b507f65d4461757c577a9f90325967e92a895520
|
2021-03-30 |
Support for native riscv64 coroutines. |
611e711085c7e3984555a79626d025c8b876eced
|
2021-03-30 |
Test incorrect behaviour of `rb_io_wait_readable/writable`. |
a9c5c2d614f30a616970245fef3e7ffc151e2ecf
|
2021-03-30 |
Check errno before invoking scheduler in `rb_io_wait_readable/writable`. |
836da24e97d9443ffb75abbb35ced3ce52e8242f
|
2021-04-09 |
Fix symbol export. |
dc25412042dcb921c27491ef09791d03bc377d98
|
2021-06-03 |
Expose `rb_fiber_transfer` and `rb_fiber_transfer_kw`. |
2792acc8f29c6ee1d04b57b7b70d43519a0ceda8
|
2021-06-14 |
Add scheduler hook `Addrinfo.getaddrinfo`. (#4375) |
050a89543952a2c9e7c9bc938f4fdb538f6c9278
|
2021-06-14 |
Wake up join list within thread EC context. (#4471) |
25921fe1d67e4bdd2370e1e9c26f1ed4533af73e
|
2021-06-14 |
Revert "Suppress gcc11 clobbered warning" |
3deb5d7113e1fd6e4b468e09464d524d390d811e
|
2021-05-08 |
Direct io for accept, send, sendmsg, recvfrom, and related methods. |
45e65f302b663b2c6ab69df06d3b6f219c1797b2
|
2021-06-19 |
Deprecate and rework old (fd) centric functions. |
fcc6fd23ec779a2421154bad441e168e4c6d4194
|
2021-06-19 |
Rework `sysread` to use blocking `read_internal_locktmp`. |
e01fa2f6fffe4599b10e88865992f476f9656039
|
2021-06-22 |
Add fiber scheduler news. |
eef3c08edc2fc74496cdc1e4d89798d053e32561
|
2021-06-22 |
Fix NEWS formatting. |
e788481843d71030bd5dfee28fd0fc22dcae2f97
|
2021-06-23 |
[ruby/reline] Avoid using blocking `IO.select`. |
bf376cae0c308f738bb255d110ac7c85019515cb
|
2021-06-23 |
[ruby/reline] Fix missing require. |
5e75280c8edcd0f3c8f79d0c532cbfd18074886a
|
2021-06-29 |
Add basic test for updated IO wait functions. |
42130a64f02294dc8025af3a51bda518c67ab33d
|
2021-06-25 |
Replace copy coroutine with pthread implementation. |
1467328edc877ada0361e89f55158d2ed1bbb075
|
2021-06-30 |
More general matrix "configure" parameter, add `--with-coroutine=pthread`. |
1862d961a9b18acbf30d9391e091d91de9c0f16d
|
2021-07-01 |
Ignore dead threads in `coroutine_join`. |
71146bd4a32f26b26d76b8847cdb62a8126be491
|
2021-07-02 |
Remove copy coroutine build rule. |
028441d22fee121d129126c55938690be38bd3d9
|
2021-07-12 |
Avoid calling `fstat` on things we already know are valid sockets. |
9df712a0e2013018bf44be71404ffc17dce21744
|
2021-07-13 |
Expose `rb_obj_is_fiber`. |
6073a8bdc01c7cfae9671faa4edf85abf6e28c29
|
2021-07-16 |
Add debug assertion in `rb_funcall*` that the current thread has the gvl. |
1146a94aeea7d2ea1ead3bfcbddd0f4de696abe6
|
2021-05-21 |
[ruby/openssl] Implement `Certificate.load` to load certificate chain. (https://github.com/ruby/openssl/pull/441) |
3f1d8a18eac7d775e69b99f761e756f2abb60c12
|
2021-06-19 |
[ruby/openssl] Deprecate and rework old (fd) centric functions |
13f8521c630a15c87398dee0763e95f59c032a94
|
2021-07-19 |
Fix potential hang when joining threads. |
2d4f29e77e883c29e35417799f8001b8046cde03
|
2021-07-28 |
Fix potential hang when joining threads. |
3a8cadcf8f3e1c58b2c32fcd2d5a0b48cf6dfb1f
|
2021-08-08 |
Reduce chance to receive EBADF when closing an IO from another thread. |
48c43f7783bdb9aa92af61970ed85cf91342b942
|
2021-08-08 |
Rework the readline test to be more robust. |
6f6a84f2f3e82f9554618f080f9b66ded52884cc
|
2021-08-09 |
Extended logging for debugging readline failures. |
d19af1675c9dcf4ccef643e831d83976f1831101
|
2021-08-07 |
[ruby/zlib] Don't print out warnings when freeing. |
88ba5fe547cae2370eccbe230754f59e1d5cbaf3
|
2021-07-14 |
Expose `rb_fiber_raise` and tidy up the internal implementation. |
649c87bd86d08bee8cd61584e6ece34e15e6814d
|
2021-09-20 |
Add C interface spec. |
4730a1e0ec24cf273d2d93866ef56f9c5ac2a516
|
2021-09-20 |
Don't describe C function that does not exist in prior versions. |
cb8434563d3cc8fc5c3a5aa1e34ad7a9bb542cdb
|
2021-07-18 |
Add alternative optional hook for `scheduler_close` to allow public usage of close. |
b61064b821823e016e8015f3d9eeab3cf9074ccd
|
2021-07-16 |
Add gvl and fiber assertions to scheduler interface to catch invalid usage. |
7db021f83bc68420746835bb92fce9a5d5a93d9b
|
2020-12-05 |
Add support for non-blocking `Kernel.system`. |
bf3e3148525b8f83be9b7374ae41b07cc73f5052
|
2021-09-21 |
Rework order of operations to better handle last_status. |
9151ed2fb2fa8c0648666cdfdb56e38ec3b15815
|
2021-09-23 |
Return fstrings from `build_const_pathname`. |
4b8903421828cb9d4de139180563ae8d8f04e1ab
|
2021-07-02 |
IO::Buffer for scheduler interface. |
81d0ce7e97af74a2086e143f9e349ee519bd1c4d
|
2021-11-10 |
Mark IO::Buffer as experimental. |
51c67ee61a57093cfd6f0e06a5aff77d479a37e1
|
2021-11-10 |
Don't allow `fd == -1` to propagate to system calls. |
98b442e013afbb450f1c946d86ed625c39ab3233
|
2021-10-22 |
More immutability and locking tests. |
c833ece5f78b8c2e43263e08ccbd3ce1628bf610
|
2021-10-22 |
Rework implementation of `IO::Buffer.for(string)` to use string locking. |
a19a657514a384a6c36cb62a2b4eb5352fb3074e
|
2021-11-15 |
Fix 32-bit conversions in IO::Buffer implementation. |
5190926e40febeeb3822b8bd7c031b06279dc3f1
|
2021-11-15 |
Validate string type when constructing IO::Buffer for string mapping. |
b5c4570af4c6ae7341ee03e7fc2e140192ec32d8
|
2021-12-11 |
[ruby/reline] Prefer wait_readable for fiber scheduler. |
42d32311541e58503b885b09b469948922650c66
|
2021-12-18 |
Introduce io_result wrapper for passing `[-errno, size]` in VALUE. |
75b5a4808fce6e6a11ef43a12c399e4e2eb63e86
|
2021-12-18 |
Initial hacking guide. |
1560cc16889e1afede66f675c89f9e3962a1e35e
|
2021-12-18 |
Introduce setup instructions for better parallelism. |
78c175280befc8f0078ee037233ce1bb0af80ed6
|
2021-12-18 |
Fix code formatting. |
235f523a88f0c3733adcb982b8c41fceaac4f9f6
|
2021-12-18 |
Fix spelling of DECLAIR_TYPE. |
f3e30b26c509c6dd707bc07c4a73fbac2576e9e2
|
2021-12-18 |
Default size for IO::Buffer. |
56811617ab4b7007aad10c794366115a671e4f29
|
2021-12-19 |
Improve IO::Buffer resize and introduce ownership transfer. |
9de5c4ec761aad3edc50b38d9824b40665d18911
|
2021-12-19 |
Fix mapping invalid non-file object. |
71bf5cef75b9d244a06261c9fc0b84fbe5a1592f
|
2021-12-19 |
Fix handling of frozens strings. |
49166fc74a9cd0bf48baa08d32e020183ad46723
|
2021-12-19 |
Improved exception usage/classes. |
71bbc40ffa4bb16ef0fc31f8015f61709fac36ce
|
2021-12-19 |
Rename `to_str` -> `get_string` and add support for encodings. |
c3d8d26ad744d2a2dada135196e7d694d2966008
|
2021-12-19 |
Add tests for `IO::Buffer` `get`/`set`. |
da46b8d8e5d09f896fb1af5dabea12820f02b3d6
|
2021-12-19 |
Default `IO::Buffer#get_string` to use BINARY encoding. |
c86bcd434da573982ab52522a301ba5499dc13ed
|
2021-12-19 |
Mark non-private mapped files as external. |
2de5dc539b299ae27ea3157ec898a6dba33b6eda
|
2021-12-20 |
Fix handling of clear with offset and without length. |
9fbf94ff042f91ecde094ff579784fa52efbc7a1
|
2021-12-20 |
Improve interface for get/set/copy. |
617687df097b8e9646be312c9fdf062090994a37
|
2021-12-20 |
Rename IMMUTABLE to READONLY. |
711342d93565092a8348ac5538bc4b4288d384ba
|
2021-12-20 |
Update cont.c |
02a9a72f436c17ce22b990af6379356b331a3039
|
2021-12-21 |
Tidy up fiber scheduler interface documentation for `address_resolve` and `timeout_after`. |
e30920354f8c4513150c61385220a8e75448d833
|
2021-12-21 |
Extended interface for IO::Buffer & documentation. |
d9570437e296c35c6bce691027530f4d67dd7ef3
|
2021-12-21 |
Remove incorrectly added `update.rb` file. |
bed920f0731a1a89a0e5fc7a7428d21be3ffb8a0
|
2021-12-22 |
Add fiber scheduler hooks for `pread`/`pwrite`, and add support to `IO::Buffer`. |
acfe2f2655ab25d52c4347783c4de99fa2daaf62
|
2021-12-24 |
Improvements to `rb_io_wait` return value handling and internal implementation. (#5340) |
548c8f5f7aa743ae05610ed372f857a6b488e89c
|
2021-12-24 |
Prefer to use RTEST when checking result of `rb_io_wait`. (#5341) |
f27eb8148f5a72bbacfebfecc7de9305471bb5c9
|
2021-12-29 |
Sync io-console gem. |
e4cd319f3d6560b76dbc1c7e89aa4d790a2d1e43
|
2021-12-29 |
[ruby/irb] Prefer `IO#wait_readable` over `IO#select`. (https://github.com/ruby/irb/pull/323) |
243320d22fcd0b9b7ee4cc5b1b420dcd63d87f5f
|
2022-01-01 |
Fix incorrect minimum read length. (#5353) |
03d97cc966fe35cd571a5260c01a9f50cbe60b2a
|
2022-01-02 |
Remove UTF-8 from documentation. |
0ca00e2cb74f9d07d27844d97c29c208caab95a7
|
2022-01-08 |
Move IO write buffer allocation into function. |
8648457541ec016b1d9d305d9d3ea29fb93ca336
|
2022-01-08 |
Don't combine test-all and rubyspec. |
fd6cef79f54bebab1a49256034687dcc01a09eab
|
2022-05-07 |
Use a proper mutex for autoloading features. (#5788) |
ef525b012a709077ea2797e8642fae0b61234063
|
2022-05-08 |
Explicit handling of frozen strings in `IO::Buffer#for`. (#5892) |
cea34bd8082784051542131ddf8a353f5656ac88
|
2022-05-09 |
Add basic binary operators (and, or, xor, not) to `IO::Buffer`. (#5893) |
32de6097b2b5d8394b3a1399e13d309444697954
|
2022-05-15 |
Fix various autoload race conditions. (#5898) |
f626998c4fa62973cac3a027597f97cdacd0d3c5
|
2022-05-16 |
Delete autoload data from global features after autoload has completed. (#5910) |
60d45b2ee86a80e248c3bff0c90c981ed2168ac3
|
2022-05-17 |
Restore implicit relationship between `autoload_const` and `autoload_data` during GC. (#5911) |
11af23ee923858fbcec18f2d1365296fdfe24dc2
|
2022-05-17 |
Move feature deletion from GC mark to `autoload_delete`. (#5912) |
901525b1079ac02da0122a76d8e4c3546a7f80f6
|
2022-05-19 |
Add support for address sanitizer for amd64 and arm64. |
42bcc629fba518215c844488223bc279006a4fa2
|
2022-05-21 |
Retain reference to blocking fibers. |
9a8fc4e04cc85b640c9ca569fe680850adc877fc
|
2022-05-24 |
Tidy up redundant returns. |
86602484a28fe345d9d164fe33d765d5e2791c58
|
2022-05-25 |
Ensure we retain the main fiber stack bounds. |
952ff7fbb3d1d4e9f13a4124016cb805c3a06a51
|
2022-05-25 |
Fix out of bounds read. |
d875445e8a8b073298e8b3db177d1a5e78c92893
|
2022-05-25 |
Fix GC race condition in autoload. |
946e3bbdc293693e667ad056885a27e6955a895f
|
2022-05-26 |
Simplify the autoload require logic. |
2556e15d7520913119175c8166b1f9d17eb33415
|
2022-05-26 |
Remove unnecessary ignore warnings. |
bd472ef36f22de176a886cbe789480e84990b82b
|
2022-05-26 |
Show ASAN_OPTIONS in hacking guide. |
ce23cfa5182bb53e8b6555fb6a5b2846cd559922
|
2022-01-08 |
Make `io_binwrite` atomic. |
15ebfe28493560f8368fc9a2fe7d9b5913051b84
|
2022-01-08 |
Make `io_binwritev` atomic. |
216593f59b49fc7f59ed991ae3feaa1ad233ce75
|
2022-01-09 |
Add IO write throughput/locking overhead benchmark. |
c6cd9e180e01f3c0c3258fae87cd55f5e9a219d4
|
2022-05-09 |
Better handling of `error`. |
ac499bb511e88faa1e9a8566c6fd4821abb17457
|
2022-05-09 |
Improve error handling in `finish_writeconv`. |
4efccd28e4b257fb1c8f97781d0b5b1c42c1d9fa
|
2022-05-09 |
Improve consistency of `io_binwritev_internal` implementaiton. |
1589ac6291d6bf9caa8f237c6d143dd26526b579
|
2022-05-09 |
Improve handling of zero length writes. |
753d30550368e4447b75bb7d1ed3d2703554ee01
|
2022-05-10 |
Tidy up usage of write_lock. |
6b0131db6f029f3e472d00deb2134d45ad4dde3a
|
2022-05-28 |
Make `Kernel#p` completely uninterruptible. |
425a46131a029390cd693242e621f6632c76cc42
|
2022-06-13 |
Handle case where write result is zero. |
f9c8d8088378981385f6acd18d2fe9fedcd7ab85
|
2022-06-25 |
[ruby/io-wait] Don't add `IO#wait*` methods when `RUBY_IO_WAIT_METHODS` is defined by Ruby. (https://github.com/ruby/io-wait/pull/19) |
d281347abbbe7f3b588646977a21b8f929aaa5bb
|
2022-06-25 |
[ruby/io-wait] Fix usage of `assert_raises` -> `assert_raise`. (https://github.com/ruby/io-wait/pull/20) |
d2166c09b08fc144123e5a7eef69b8921bfced35
|
2022-06-18 |
Copy `IO#wait*` methods from `io-wait` gem to `io.c`. |
9434a7333c2a23c680a977331a60ca7c502c1ac0
|
2022-09-17 |
Enable coverage for eval. |
09ea4f3a9fc13214198fa2cf223ec601640d3eac
|
2022-09-23 |
Extract common code for coverage setup. |
81b919ce5c85a82d68de9ccaebd5036adef8c7fb
|
2022-09-23 |
Add news for eval coverage. |
a95b741a973438a3ea666b8997efa8194e1fd5e7
|
2022-09-25 |
[ruby/bigdecimal] Remove trailing whitespace. |
75cf29f60d87b298edfd75611bfe272a92289cee
|
2022-09-25 |
Rework `first_lineno` to be `int`. |
22af2e9084d869b0d1eb24e4c11bc1fd62b7c50d
|
2022-09-25 |
Rework vm_core to use `int first_lineno` struct member. |
85cc0ce5c8b6a369d439093453f7b87f1a154efb
|
2022-09-25 |
Use `int first_lineno` for binary format. |
025b8701c09813c40339bd8fa1c75e0e5eaf7120
|
2022-09-26 |
Add several new methods for getting and setting buffer contents. (#6434) |
411d0eec11f3618066a293ee72810bf48168adc8
|
2022-09-26 |
Update `IO::Buffer` read/write to use rb_thread_io_blocking_region. (#6438) |
1c14e406d3c4a4c660f66f0d1c642d1ed2aabed2
|
2022-09-26 |
Fix `io/buffer.h` header guard. |
9dd902b83186ad6f9d0a553da2ca114bac6ab7b5
|
2022-09-28 |
Add `eval: true/false` flag to `Coverage.setup`. |
bd2fbd35888413217337dd327ad90015c0322d12
|
2022-09-28 |
Add `Coverage.supported?` to detect what modes are supported. |
e7ddb6b182c35a1caf6f95fb6f4d9d53426d52f4
|
2022-09-28 |
Update NEWS.md with updated coverage interfaces. |
e696ec67ac7bd14ff8436f9ee7724c17c5bf6689
|
2022-10-06 |
Introduce `Fiber.blocking{}` for bypassing the fiber scheduler. (#6498) |
e4f91bbdbaa6ab3125f24967414ac5300bb244f5
|
2022-10-07 |
Add IO#timeout attribute and use it for blocking IO operations. (#5653) |
a081fe76de5de0307651d99324a0e454fd8b8a8b
|
2022-10-07 |
Simplify default argument specification. (#6507) |
24f3e397e957a6747a2067edd831bc7920e204ec
|
2022-10-07 |
Add spec for `Coverage.supported?` and `start(eval: true)`. (#6499) |
844a9dff887f0af075c0c50020f98a45a1528d14
|
2022-10-08 |
Try `nil` as default for 'default timeout'. (#6509) |
1bafa4a59b296e6ca80e32755fc84b76c3c575e5
|
2022-10-10 |
Ignore failure to set nonblock mode. (#6524) |
ced1d172804b6dfe39aa31a323ffab80a25223b9
|
2022-10-11 |
Improvements to IO::Buffer implementation and documentation. (#6525) |
04d291a490517eb32ea02df636fc8f1f1ed57873
|
2022-10-12 |
Simplify implementation of scheduler `io_read` and `io_write`. (#6527) |
765ee822b54026e6cafa107d93475c2883e2bad8
|
2022-10-13 |
Add missing `f.resume` to fiber test. (#6539) |
d4162053410782a449e0921ee7222e7ce3deca6f
|
2022-10-14 |
Copy `IO#timeout` on `IO#dup`. (#6546) |
8a420670a29a7c78c7201f678eb26528621bf39f
|
2022-10-15 |
Introduce `Fiber::Scheduler#io_select` hook for non-blocking `IO.select`. (#6559) |
52fcb3a72446189448e96a465d8c91c469ac0ed2
|
2022-10-15 |
Add missing `#close` call to `test_dup_timeout` test. (#6560) |
7fcad1fa03c21b9a9916a12b816ec886a5b68920
|
2022-10-15 |
Update `Fiber::Scheduler` documentation. (#6562) |
aecc470a3354bbf61e5cd2e65f4aeb4f3825a9be
|
2022-10-07 |
[ruby/openssl] Use default `IO#timeout` if possible. |
fc3137ef54562c3c3290245c0f62e0bb193c3145
|
2022-10-19 |
Add support for anonymous shared IO buffers. (#6580) |
7f175e564875b011efb43537907867dd08d659e8
|
2022-10-20 |
Avoid missed wakeup with fiber scheduler and Fiber.blocking. (#6588) |
8dfe3bdf48ff73052de1262e4644c08742abd8e6
|
2022-10-22 |
Improved formatting of `hash_foreach_iter` functions. (#6615) |
16953867ed8fc951364f05fdf0c9267799e3087a
|
2022-11-01 |
We don't care about actual hostname resolution. (#6652) |
2bb89b7f114e4beb3012f63e12e726ae23005e6f
|
2022-11-04 |
Lower priority of `POSIX_MADV_DONTNEED`. (#6671) |
ea8a7287e2b96b9c24e5e89fe863e5bfa60bfdda
|
2022-11-17 |
Add support for `sockaddr_un` on Windows. (#6513) |
cb4c89e08ea2f879b6a860a3d6944efce6c9bf50
|
2022-11-17 |
Fix quoting of code in `NEWS.md`. |
0436f1e15a8e79ffef5ea412ac1312cbf9f063e6
|
2022-12-01 |
Introduce `Fiber#storage` for inheritable fiber-scoped variables. (#6612) |
4fa47eabf21f3a13bb614cf8a63708f05decb710
|
2022-12-02 |
Clarify the storage argument. (#6849) |
701251c57650a70d838caf5a11905fca12300546
|
2022-12-08 |
[ruby/logger] Drop RDoc development dependency to avoid CI failures. (https://github.com/ruby/logger/pull/82) |
7ab4820af7b39e12023ab3aee74cb7e66e97f786
|
2022-12-08 |
[ruby/logger] Only assign to `@filename` if the path is valid. (https://github.com/ruby/logger/pull/81) |
6fd5d2dc003bda5ce0685abd2b975d7ac7079d46
|
2022-12-08 |
Introduce `IO.new(..., path:)` and promote `File#path` to `IO#path`. (#6867) |
22d391dc637dd756fdcdfc0ece4a71753b5b2ddb
|
2022-12-10 |
Add spec for fiber storage. (#6896) |
d20bd06a97555a4493458d866590107da6cb21f4
|
2022-12-14 |
Remove `require 'io/wait'` where it's no longer necessary. (#6932) |
9da5a7e79dcaed9bf233f6a9a5df54c727f60c77
|
2022-12-17 |
Add tests for `Queue#pop` with fiber scheduler. (#6953) |
6073782627b8a4976cab232daab2350e36c21cdd
|
2022-12-19 |
Disable SEH workaround on __MINGW64__ only. (#6957) |
11ad9a42d76ba785b2ec93f327469ead9b810ef4
|
2022-12-23 |
Fix missing handling of offset argument in `IO::Buffer` `pread` and `pwrite`. (#7012) |
edd00697a88892b477b498b796d9f62f9ec84e28
|
2023-01-18 |
Test some missing coverage too. (#7041) |
5cdf312d2cc7465fb7f5c36b01f868f059b69ac3
|
2023-01-21 |
Add `doc/distribution.md` to help reduce some of the confusion. (#6856) |
3e7fdf29532333667271f01fff84c10ec80822e1
|
2023-01-21 |
Windows build instructions documentation. (#6956) |
2c93c554019ebdc394d3c51c6d925620d3005f84
|
2023-01-21 |
Ensure main file has default coverage if required. (#7169) |
f5ea43a2e61789357e9c4b374b4bc6756abeae17
|
2023-01-22 |
More coverage tests & specs. (#7171) |
1b06cd3f09183c14d15ceaada57e425e12a6f3b2
|
2023-01-27 |
Pass through `line_offset` argument correctly (but it was always 0). (#7177) |
57bc3f2f462df8e945ddfa5f9a8de45c1b0f0a86
|
2023-02-25 |
Add `IO::Buffer.string` for efficient string creation. (#7364) |
f94e83faa04d99a6deac49b8c0a14c585aeea59a
|
2023-02-25 |
Assigning `nil` to fiber storage deletes the association. (#7378) |
d0031db9b3d7c951ae786f47a6c41de8f3afb2eb
|
2023-02-25 |
Prefer RB_NUM2LONG for string length. (#7379) |
7abe47b85a9db7393e8176ee5f0507c549da59bf
|
2023-03-07 |
Improve robustness of `io_wait` implementation. (#7456) |
2c4b2053ca1884f058982fd46f2576bd887920b6
|
2023-03-07 |
Correctly clean up `keeping_mutexes` before resuming any other threads. (#7460) |
1658e7d96696a656d9bd0a0c84c82cde86914ba2
|
2023-03-09 |
Remove SIGCHLD `waidpid`. (#7476) |
44a0711eab7fbc71ac2c8ff489d8c53e97a8fe75
|
2023-03-09 |
Remove special handling of `SIGCHLD`. (#7482) |
86d38b452005a9168eb2b5eaffd5fb3465313436
|
2023-03-10 |
Accept `sleep(nil)` as sleep forever. (#7484) |
4dce12bead3bfd91fd80b5e7195f7f540ffffacb
|
2023-03-10 |
Remove prototypes for functions that are no longer used. (#7497) |
ac65ce16e904695ba45888d3fba641d12caf733a
|
2023-03-14 |
Revert SIGCHLD changes to diagnose CI failures. (#7517) |
7fd53eeb46db261bbc20025cdab70096245a5cbe
|
2023-03-15 |
Remove SIGCHLD `waidpid`. (#7527) |
466aa8010fb49f9ec6c78ea1de4e8ca0965f4fdf
|
2023-03-25 |
Fix incorrect usage of `rb_fiber_scheduler_io_(p)(read|write)`. (#7593) |
648870b5c577239b3274b0b48c82fb74910dfabf
|
2023-03-30 |
Support `IO#pread` / `IO#pwrite` using fiber scheduler. (#7594) |
0b2613f44309bddae45562c9f3a14ed43e56959b
|
2023-05-15 |
`rb_io_puts` should not write zero length strings. (#7806) |
ab7bb38aca0d2b5c2b81142a8e67fbff0f1a4a8a
|
2023-05-15 |
Remove explicit SIGCHLD handling. (#7816) |
4d1ca2e1f964b6d70de34656a7893c76bd3d669b
|
2023-05-16 |
Ensure SIGCHLD always uses a signal handler. (#7819) |
2df5a697e2726a11f0441b13fb5c73dd549837c8
|
2023-05-18 |
Add Fiber#kill, similar to Thread#kill. (#7823) |
872249e209fdb7b7c890a93b0f93a74a62d21aec
|
2023-05-21 |
Don't leak pipes. (#7820) |
bcb16eb1e5d279e28d1e57c781531a8dea98eb8f
|
2023-05-22 |
Rename `data` -> `buffer` for better readability. (#7836) |
bd786e78969f9d4a8699376ceafe10934b6ad533
|
2023-05-22 |
Fix mutation on shared strings. (#7837) |
28056a6d161417bd7b3aed8099f59f4ac164b351
|
2023-05-24 |
Add support for pread/pwrite on windows. (#7827) |
135a0d26a11cf0d0825e4f80e00e2b430555d831
|
2023-05-24 |
Improvements to `IO::Buffer` `read`/`write`/`pread`/`pwrite`. (#7826) |
6d976eb5348098a346d82065621e37925acae8b8
|
2023-05-24 |
Fix "runs a C function with the global lock unlocked and unlocks IO with the generic RUBY_UBF_IO" on Windows. (#7848) |
492e0025fd1221681beafe28f1947b4dd1aefd9a
|
2023-05-25 |
Allow environment variable to control madvise advice. (#7855) |
bf1bc5362e5edb2321665e9ce7c5c4e2e7d9f5ef
|
2023-05-27 |
Improve `read`/`write`/`pread`/`pwrite` consistency. (#7860) |
00d6674636839329f54cad6daf5e5ca16cc3911e
|
2023-05-28 |
[ruby/etc] Remove usage of IO internals. (https://github.com/ruby/etc/pull/26) |
881757c03f28c30c02754ed367e3c5494f46e800
|
2023-05-28 |
[ruby/io-wait] Remove usage of IO internals. (https://github.com/ruby/io-wait/pull/25) |
26dd9c5f0f8d17151ef721b46f94af0e6b3f484a
|
2023-05-28 |
[ruby/io-nonblock] Remove usage of IO internals. |
55393645a12435305bb88907a628bedab69606d4
|
2023-05-28 |
[ruby/io-nonblock] Revert "Remove usage of IO internals." |
14abb799c93c8e5cb7ce36d829fb805f80397d4c
|
2023-05-28 |
[ruby/io-nonblock] Remove usage of IO internals. (https://github.com/ruby/io-nonblock/pull/11) |
1889133c04f337fec3969cb5040a544088249046
|
2023-05-29 |
[ruby/io-console] Remove usage of IO internals. (https://github.com/ruby/io-console/pull/43) |
764207e47ce38d1b73774a8e65114c87bc888298
|
2023-05-29 |
[ruby/io-console] Remove trailing whitespace. |
98f500d0958d12b1909f4638abf33682d75f3fe6
|
2023-05-29 |
[ruby/openssl] Remove usage of IO internals. |
18e55fc1e1ec20e8f3166e3059e76c885fc9f8f2
|
2023-05-30 |
Hide most of the implementation of `struct rb_io`. (#6511) |
a218ed569243e7544d8c4e3b348245a17f6c6a51
|
2023-06-01 |
Hide the usage of `rb_io_t` where possible. (#7880) |
64ec1813ac56799b3a61d97fe52e706415c0d8df
|
2023-06-01 |
Restores the changes in `io-console` without breaking backwards compatibility. (#7882) |
d5a5333168690ea1e3453cdb6a5d042f46ba80b8
|
2023-06-01 |
[ruby/stringio] Avoid direct struct usage. (https://github.com/ruby/stringio/pull/54) |
47a8de609595def385cb8c716b80d7a64b718310
|
2023-06-01 |
Drop `_t` suffix from struct names. (#7886) |
b7ee51e81dd63990ec27daaa151864214cbf85d2
|
2023-06-01 |
Expose `enum rb_io_event` flags without `_t` suffix. (#7887) |
0402193723647b8c4f57b1453fe2192ad2788d12
|
2023-06-03 |
Fix `Thread#join(timeout)` when running inside the fiber scheduler. (#7903) |
3fe09eba9d040d275d8305fe1b00f2f22218b6c8
|
2023-06-08 |
Add deprecations for public `struct rb_io` members. (#7916) |
be86767eeff745ac4d0255fa5d14da99e32f59bd
|
2023-06-10 |
Add VM_ASSERT on `fiber->blocking == 0`. (#7926) |
27b07776c99dfb4a8a4e6885462786c03e9b0660
|
2023-06-09 |
[rubygems/rubygems] Autoload shellwords when it's needed. |
5a69e8bcefcb609bf02b278a19cd9bf9018cea82
|
2023-06-13 |
Add tests to `String#byteslice` memory allocation behaviour. (#1909) |
a87bce86bb2a7581943355b41abaf41a6ad18218
|
2023-06-21 |
Allow setting the name of a class or module. (#7483) |
d4c720a91bc7bb9ff31810e1720acffb939f7a2f
|
2023-08-24 |
Fix support for dynamic keys. (#8273) |
40d774bec68de3f252c0b252d9d0303a67bee0cb
|
2023-08-25 |
Avoid memory dependency between instructions. (#8284) |
b2d1c720ece67b110ab4ade6b8c9f3b640216c8a
|
2023-08-25 |
Add documentation regarding how to build Ruby for debugging. (#8290) |
caf48487cafb8414c60f32b902decf0689ae2093
|
2023-08-28 |
Restore `HAVE_RB_IO_T` macro for compatibility with `kgio`, `unicorn`, etc. (#8286) |
901b6d9c5025a30b3d7a5ed0a2c00baf9cfb061d
|
2023-08-29 |
Validate the typed data before dereferencing the internal struct. (#8315) |
e46e48d690cf543193418ef08725cdbe31688975
|
2023-08-29 |
Expose `rb_process_status_wait` and hide `rb_process_status_waitv`. (#8316) |
f0b43597ffbef0a43ca3459d8807bdc00ba4ec59
|
2023-08-29 |
[DOC] Improved documentation. (#8319) |
7e0f5df2f99693267d61636d23da47f79924e9d5
|
2023-09-04 |
Don't reset line coverage for evaled code. (#8330) |
05aaff2191cbe777d1efb915ab9652eeaa1c16b8
|
2023-09-07 |
Reduce number of iterations in `TestFiberScheduler#test_autoload`. (#8391) |
5184b40dd4dc446660cd35c3e53896324e95b317
|
2023-09-07 |
Extract `do_mutex_lock_check_interrupts` to try and fix `ppc64le`. (#8393) |
be21a056d229652ae5cf6926e96c1517aa43453f
|
2023-09-08 |
Try default `gcc` 9.4.0 to see if it exhibits the same compiler bugs. (#8394) |
a095740fed2a05a04806a1d3827bcaba02e45720
|
2023-09-14 |
Fix `io_buffer_get_string` default length computation. (#8427) |
30f5a2bbcd0151ce25b1e55dcff31626d4ab253a
|
2022-06-25 |
[ruby/io-nonblock] Don't define nonblock methods if they are defined by core. |
00467699a96902bc8dc68bf0ad237f9a02e093d5
|
2023-12-06 |
Don't warn generally for `IO::Buffer`, only on specific code paths e.g. `map`. (#9131) |
888051802b7a0d38303c946f1349b2c0daf6239a
|
2023-12-06 |
Add news for `Fiber#kill`. (#9134) |
7e05e9ff945c4e6d9fffebafc8037e28d747f0b7
|
2023-12-06 |
Fix incorrect "nested_fake_name" documentation. (#9135) |
37753f163e461e157e6e224d9d3e5626427a50cc
|
2023-12-24 |
IO::Buffer improvements and documentation. (#9329) |
260bf60e52ffdfa625be1153624b0d123fc305f8
|
2023-12-25 |
Correctly release the underlying file mapping. (#9340) |
e5a4f757bdf5dc3d8c329ddd268432f9ecc7bff6
|
2023-12-26 |
Fix Window private file mapping unlink EACCES issue. (#9358) |
08d4e5ebef3d372ca52de95d8ed896d7def8de49
|
2023-12-27 |
[ruby/openssl] Add more methods to `SocketForwarder`. |
f7178045bb11fc3722a98082ed81e1ec39c4940f
|
2024-01-01 |
[ruby/openssl] Add support for `gets(chomp: true)`. |
c5cf4d4e129f64cb69aaf0a829aed068ef1943c4
|
2024-01-14 |
Improve behavioural consistency of unallocated (zero length) `IO::Buffer`. (#9532) |
4f634d3c85ca45b5995c1f37619784c99f2be62c
|
2024-01-17 |
[ruby/openssl] Add support for IO#timeout. (https://github.com/ruby/openssl/pull/714) |
2554c5d3b8738a248cedb2fea96dfab9fbe19417
|
2024-02-01 |
Don't wait in `io_binwrite_string` if not necessary. (#9792) |
78d9fe69479d32214a52ad7291c3973f1b6b7f6f
|
2024-02-21 |
Ensure that exiting thread invokes end-of-life behaviour. (#10039) |
04729fe68dceddab045be7324e26c2bb15aa62c7
|
2024-02-21 |
Fix exception handling in `rb_fiber_scheduler_set`. (#10042) |
6a0b05f413931cf24c149c29cc317d2b9c623885
|
2024-02-22 |
Remove `SAVE_ROOT_JMPBUF` as it no longer has any effect. (#10066) |
9ab1fa3bf570bf19b0d6808adf12e965aacc6d83
|
2024-03-06 |
Hide public implementation of `rb_io`. (#9568) |
b4d73e9f80aa5fe72c39f42a88727fed0abb261b
|
2024-03-22 |
Revert "Hide public implementation of `rb_io`. (#9568)" (#10283) |
a7ff264477105b5dc0ade6facad4176a1b73df0b
|
2024-03-26 |
Don't clear pending interrupts in the parent process. (#10365) |
dfa0897de89251a631a67460b941cd24a14c9b55
|
2024-04-07 |
Enumerator should use a non-blocking fiber. (#10478) |
bdb1fc1e5bd09f23860d0f3aced10da51d2c9867
|
2024-04-07 |
Prefer to use `Fiber#transfer` in scheduler implementation. (#10479) |
b473d304d449b520a967e45b7d5d5ecb8556b4c3
|
2024-04-07 |
Revert "Enumerator should use a non-blocking fiber. (#10478)" (#10480) |
5d1702e01a36e11b183fe29ce10780a9b1a41cf0
|
2024-04-07 |
Enumerator should use a non-blocking fiber, change `rb_fiber_new` to be non-blocking by default. (#10481) |
6ade36c06b7cef948099b8f5f483763498705d12
|
2024-04-17 |
`Fiber#raise` recursively raises on nested resuming_fiber. (#10482) |
1699772ac4e62d783aab6e820f978c04a215a612
|
2024-04-22 |
[ruby/openssl] Introduce basic support for `close_read` and `close_write`. |
f1afae2459e139430859f57b8351d180e9ef5d9f
|
2024-04-27 |
[ruby/openssl] More documentation. |
368ce0758e1f4c0fd38ae08297f432c0a9589d4a
|
2024-04-28 |
[ruby/openssl] Further clarification of documentation. |
4c3727c6ace506d00e2e869243b7812ea7d31bc2
|
2023-06-21 |
Add anonymous module name spec. |
75c4ac3395f609cad55a0e30a59d61ecfd092952
|
2024-10-03 |
Update `IO::Buffer` documentation. (#11737) |
cd96af2cb88a0b98add14eacf0005a8bee505d5d
|
2024-10-03 |
Add `IO::Buffer` tests for read and write with length & offset. (#11779) |
96d69d2df269bbf68bb0e378b2cd4af46bfd37a4
|
2024-10-04 |
Clarify `rb_io_maybe_wait` behaviour. (#9527) |
c878843b2cb8fd54ebfaabd10b6334cf4d400208
|
2024-10-04 |
Better handling of timeout in `rb_io_maybe_wait_*`. (#9531) |
c33cb9a5867b0d35335a7d6921184a60356a32d7
|
2024-10-04 |
Update `io_spec.c` to use `rb_io_maybe_wait*` if possible. (#11792) |
6ea0dcc9781931129e77540097712f6196d49fde
|
2024-10-04 |
Direct access to `fptr->fd` should prefer to use the `internal/io.h`. (#11793) |
86e8a36e77a9946aeb179c73a232a793867951bb
|
2024-10-04 |
Revert "Direct access to `fptr->fd` should prefer to use the `internal/io.h`. (#11793)" |
c50298d7d4f8797963490f5679b1c481b89d4955
|
2024-10-05 |
Introduce `rb_io_blocking_region` which takes `struct rb_io` argument. (#11795) |
dee15211c154cc70409a6010883140f259d1c483
|
2024-10-09 |
Update `BasicSocket` to use `rb_io_blocking_region`. |
d78bf437083229842925c45f4190d29773026e1b
|
2024-10-09 |
Update `UNIXSocket` to use `rb_io_blocking_region`. |
823f29a36edd25136999d5a649eaff5e4a41481c
|
2024-10-09 |
Update `IPSocket` to use `rb_io_descriptor` and `rb_io_mode`. |
3031bf6bd46c56f90f1944e41dcb4a5fb9948e40
|
2024-10-09 |
Update `UDPSocket#send` to use `rb_io_blocking_region`. |
04ddb7e8084aa2fdb07ca4da2b4369cca275c1d9
|
2024-10-09 |
Update `Socket#accept` to use `rb_io_blocking_region`. |
438ef21a9b50815f645a324e3d8950750467fd29
|
2024-10-09 |
Update `Socket#recvfrom` to use `rb_io_blocking_region`. |
c43be94f76982d3ffa2ecd28d34172600b81ca31
|
2024-10-11 |
Update `rsock_connect` to take `VALUE io` argument. (#11847) |
ad5641fd3424790789871300b7c0dd6c069f3614
|
2024-10-11 |
Support `IO#timeout` for `rsock_connect`. (#11880) |
87fb44dff6409a19d12052cf0fc07ba80a4c45ac
|
2024-10-31 |
Introduce Fiber Scheduler `blocking_region` hook. (#11963) |
4031beb0836a04ac9a8824c8ce63d1571ff76948
|
2024-11-02 |
Add documentation for `RUBY_ASSERT_CRITICAL_SECTION`. (#11982) |
3b9896acfcaf992ac233578ca8ec5bb69978de4a
|
2024-11-06 |
Revert "Introduce Fiber Scheduler `blocking_region` hook. (#11963)" (#12013) |
048bb1e1763c3ea9208a4049b515c15252f19cf1
|
2024-11-07 |
`ubf_th` appears to be unused. (#11994) |
9c268302bfb4890d3757caa60981802a88bfbd89
|
2024-11-20 |
Introduce `Fiber::Scheduler#blocking_operation_wait`. (#12016) |
3c0b09ac9e9afe5a8a536ac3c27c9202bcebc25c
|
2024-11-20 |
Allow `io_buffer_memmove` to release the GVL for large buffers. (#12021) |
b143fd5bd8527da3ddd176a3d6a362d0ab3bc6c7
|
2024-11-20 |
[ruby/zlib] Don't call `rb_str_set_len` while released the GVL. (https://github.com/ruby/zlib/pull/88) |
f6e6e6687069cbefa5ba777d98d1f90b566b4ada
|
2024-11-20 |
[ruby/zlib] Add support for safe offload of nogvl code. (https://github.com/ruby/zlib/pull/89) |
03ff7db5fe1eaab9b9569185017f6ae87d36ac0e
|
2024-11-20 |
Update `scheduler.c` to use `RUBY_ASSERT`. (#12129) |
89deb38736ccfb89a2de82a6087ce0723ba700e4
|
2024-11-21 |
bignum nogvl is offload safe. (#12132) |
a8c2d5e7bee5fad0965baeb58d312ddc5932ec26
|
2024-11-23 |
Ensure fiber scheduler re-acquires mutex when interrupted from sleep. (#12158) |
04ec07794657cd2444ecb001a522b9df2db1b90a
|
2025-01-15 |
Preserve `errno` in `rb_fiber_scheduler_unblock`. (#12576) |
46b544c54955348ef1ea9692b837b061f59f91cd
|
2025-01-28 |
Prefer `uname -n` over `hostname`. (#12647) |
d3abee739f4feb91bb9aaae33877d70c8c576db0
|
2025-01-28 |
Add fallback for `hostname` if `uname` isn't available. (#12655) |
0da2b12741b2645f5c34f7e98e3b3b0f8f3cde5e
|
2025-01-31 |
Prefer `platform_is_not :windows`. |
68f0150ff0402746e0fee21a287aabf7d7900523
|
2025-02-14 |
[ruby/json] Pass through all options if present. |
d32fa5283f1197f2dfbd1f22d06515035095ecee
|
2025-02-25 |
Prefer `0.000001` over `0.000001f` for timeout calculations. (#12803) |
021ccbf7e8e34a1ae7af2d8411ed6dc4e5e8f980
|
2025-02-25 |
[ruby/pp] Ensure the thread local state is always set up. (https://github.com/ruby/pp/pull/38) |
eb91c664dc0b4d69db09ae913f2d7a5ef3490d74
|
2025-03-22 |
Fix broken CI. (#12963) |
5f77f9bea61fb4cc8447a76e191fdfb28f076862
|
2025-03-23 |
Fix handling of `error`/`errno` in `io_internal_wait`. (#12961) |
22667fcc38f6246f8d93f229097375f85e3efbab
|
2025-04-14 |
Add `RUBY_VERSION_IS_3_5`. |
4e970c5d5aee94c729541236c69792ec314f3731
|
2024-11-20 |
Expose `ruby_thread_has_gvl_p`. |
c13ac4d615c28edc1580363c13b44eb7a73103f3
|
2024-11-01 |
Assert the GVL is held when performing various `rb_` functions. |
28491e53cda02c9b7372c01b88bf55dad50a53bf
|
2025-04-15 |
[ruby/stringio] Support for `rb_io_mode_t` (https://github.com/ruby/stringio/pull/129) |
8d21f666b8098545a366c46f1990edf2a9f4ffcb
|
2025-04-16 |
Introduce `enum rb_io_mode`. (#7894) |
c4ae6cb5005cfa53be0af466a5619e7455c15744
|
2025-04-17 |
Prefer `th->ec` for stack base/size. (#13101) |
06a7b3c14453b35ff530b3a06c134193dc25207e
|
2025-04-17 |
Only test on known good platforms. (#13123) |
6f6d07272e76682029112c4ceb6eb6b811ee8d6f
|
2025-04-18 |
Update usage of `enum rb_io_mode`. (#13128) |
20a1c1dc6be9349521592fc21b17de3eb9f84051
|
2025-04-19 |
Ensure `struct rb_io` is passed through to `thread.c`. (#13134) |
d6d4e6877c9670b871ba44b9ca8bece033d17f22
|
2025-04-19 |
Tidy up `rb_io_fptr_finalize`. (#13136) |
c1dbd01c6796adb64edc6136134be8271b933bb8
|
2025-04-23 |
Increase fiber sleep test tolerance. (#13152) |
425fa0aeb5ced20c03b2d5edb7a409666363ea8f
|
2025-05-13 |
Make `waiting_fd` behaviour per-IO. (#13127) |
1e2a67e1b0d12b193f3d9b367ec6f1743fc70a13
|
2025-05-13 |
Fix typo in `NEWS.md`. |
a4ce8639d95838e55208a2cf348e3ba0099b41b8
|
2025-05-15 |
Add `continue-on-error` to failed Windows 2025 build. |
87261c2d95f93f8738557cfb6f93ed14f1b483dd
|
2025-05-15 |
Ensure that forked process do not see invalid blocking operations. (#13343) |
a0fe0095ab2711ba54b29cdd2a5957f993cfc1de
|
2025-05-16 |
Don't enumerate `io->blocking_operations` if fork generation is different. (#13359) |
73c9d6ccaa2045a011ed991dc29633bd0443971a
|
2025-05-23 |
Allow `IO#close` to interrupt IO operations on fibers using `fiber_interrupt` hook. (#12839) |
627a5ac53b8116d83ad63929c8510cae674f8423
|
2025-05-23 |
Bump fiber scheduler version and add missing documentation. (#13424) |
9a292528305e88fc05c054afcfe25fc23e5c9b80
|
2025-06-02 |
Fix compatibility with fiber schedulers that don't implement `#fiber_interrupt`. (#13492) |
81a23c5793fecaff5f75cefe6a6e03dab99df16b
|
2025-05-24 |
`rb_io_blocking_operation_exit` should not execute with pending interrupts. |
5ac435dc345d81b78bac4c995fb2b3dc7cface68
|
2025-06-06 |
Log `ec->interrupt_flag` if non-zero. |
dde9fca63bf4bf56050c734adca3eaae70506179
|
2025-06-06 |
Be more specific with `RUBY_VM_INTERRUPTED` in debug assertions. |
68625a23d6deeb2e4c498d4bccc36d616608e05f
|
2025-06-14 |
Fix blocking operation cancellation. (#13614) |
ba68343d3ad0465ae9cdaf786dd100b9ed0add07
|
2025-06-24 |
Allow wakeup mutex to be used in trap context. (#13684) |