summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2021-01-13Fixed a typo [Bug #17522]Tee KOBAYASHI
2021-01-13Fixed dangling imemo_tmpbufNobuyoshi Nakada
The count of rb_alloc_tmp_buffer_with_count is the allocation size counted in VALUE size but not in the requested element size. Co-authored-by: Yusuke Endoh <mame@ruby-lang.org> Co-authored-by: Koichi Sasada <ko1@atdot.net>
2021-01-13expose some C-APIs for ractorKoichi Sasada
expose some C-APIs to try to make ractor utilities on external gems. * add * rb_ractor_local_storage_value_lookup() to check availability * expose * rb_ractor_make_shareable() * rb_ractor_make_shareable_copy() * rb_proc_isolate() (not public) * rb_proc_isolate_bang() (not public) * rb_proc_ractor_make_shareable() (not public)
2020-12-24Use RBIMPL_COMPILER_{SINCE,BEFORE} for MSVCNobuyoshi Nakada
Pointed out by @shyouhei. NOTE: Already we have dropped the support for older MSVCs, probably prior to 1300 or 1400. Remove the conditional code, especially in win32/Makefile.sub.
2020-12-24shareable_constant_value: experimental_copyKoichi Sasada
"experimental_everything" makes the assigned value, it means the assignment change the state of assigned value. "experimental_copy" tries to make a deep copy and make copyied object sharable. Notes: Merged: https://github.com/ruby/ruby/pull/3989
2020-12-24Expose atomic operation macros with RUBY prefixNobuyoshi Nakada
Now we need atomic operations, which are lighter than mutex, more widely for extension libraries because of Ractor. Notes: Merged: https://github.com/ruby/ruby/pull/3983
2020-12-24[memory_view] Fix some grammar issues in a commentKenta Murata
2020-12-23[memory_view] Make some rb_memroy_view_t members constKenta Murata
2020-12-23[memory_view][fiddle] Rename len to byte_size in rb_memory_view_tKenta Murata
2020-12-23[memory_view][fiddle] Use bool for boolean return valueKenta Murata
2020-12-22rb_cCont: no longer exists卜部昌平
Deleted well over a decade ago in commit 977d66ec993b0f1892fb3e4cd8ac.
2020-12-22Removed rb_cData entityNobuyoshi Nakada
* Use the wrapper of rb_cObject instead of data access * Replaced rest of extentions * Updated the version guard for Data * Added the version guard of rb_cData Notes: Merged: https://github.com/ruby/ruby/pull/3961
2020-12-22Data: delete卜部昌平
Has been deprecated since 684bdf6171b76f5bc5e4f05926a5ab01ec2b4fd5. Matz says in [ruby-core:83954] that Data should be an alias of Object. Because rb_cData has not been deprecated, let us deprecate the constant to make it a C-level synonym of rb_cObject. Notes: Merged: https://github.com/ruby/ruby/pull/3961
2020-12-21include/ruby/internal/xmalloc.h: document rb_eNoMemError卜部昌平
It was my bad, the exception that actually raises is rb_eNoMemError. [ci skip]
2020-12-21include/ruby/internal/xmalloc.h: doxygen tag卜部昌平
`@exception` is an alias of `@throw`. It might suite Ruby's document because ruby uses `raise` terminology instead of `throw`. [ci skip]
2020-12-20win32: Deprecate file CP version functionsNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3948
2020-12-20win32: Use UTF-8 as filesystem encoding [Feature #12654]Nobuyoshi Nakada
Co-Authored-By: Dāvis Mosāns <davispuh@gmail.com> Notes: Merged: https://github.com/ruby/ruby/pull/3948
2020-12-19Added macros for headers which are not included by ruby.hNobuyoshi Nakada
2020-12-18Use category: :experimental in warnings that are related to experimental ↵Jeremy Evans
features This adds rb_category_compile_warn in order to emit compiler warnings with categories. Note that Ripper currently ignores the category for these warnings, but by default it ignores the warnings completely, so this shouldn't matter. Notes: Merged: https://github.com/ruby/ruby/pull/3917
2020-12-18Switch rb_category_warn{,ing} to accept an rb_warning_category_tJeremy Evans
Since we decided to only allowing specific warning categories, there is no reason to have an API that accepts a general string, as it is more error-prone. Switch to only allowing the specific warning categories. As rb_category_warn{,ing} are public API, this requires making rb_warning_category_t public API as well. Notes: Merged: https://github.com/ruby/ruby/pull/3917
2020-12-18ruby_set_stack_size: no longer exists卜部昌平
Deleted since fc3c60f6081d85f6274986a7a08b59db1515fcb5
2020-12-17add HAVE_RB_EXT_RACTOR_SAFE macroKoichi Sasada
define HAVE_RB_EXT_RACTOR_SAFE to check rb_ext_ractor_safe() is available or not.
2020-12-16Made LARGEFILE_SUPPORT mandatoryNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3914
2020-12-16Removed stale declarationNobuyoshi Nakada
rb_w32_pipe_exec was removed in 1.9.3, at commit:7ac32d7a16734ea66de15319bcff2fd429abae7f. Notes: Merged: https://github.com/ruby/ruby/pull/3914
2020-12-12Signal handler type should be voidNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3889
2020-12-12Omit checks for C89 standard or laterNobuyoshi Nakada
Now we require C99, these features available of course. * prototypes * stdarg prototypes * token pasting * stringization * string literal concatenation Notes: Merged: https://github.com/ruby/ruby/pull/3889
2020-12-12Added parentheses to silence sizeof-array-div warnings [Bug #17385]Nobuyoshi Nakada
As well as 2366c681166a1dab95de6b9ca8ffcaae18aadd39.
2020-12-10include/ruby/memory_view.h: fix the return type of ↵Kenta Murata
rb_memory_view_prepare_item_desc
2020-12-10include/ruby/memory_view.h: fix typoKenta Murata
2020-12-10memory_view.c: Add rb_memory_view_get_item and ↵Kenta Murata
rb_memory_view_prepare_item_desc (#3871) Notes: Merged-By: mrkn <mrkn@ruby-lang.org>
2020-12-09Tweaked `Process::Status.wait`Nobuyoshi Nakada
* revert `rb_last_status_set` * renamed the new function as `rb_process_status_new` * `rb_process_status_new` always freezes the return value * marked `Process::Status.wait` as EXPERIMENTAL, as it has not been discussed totally yet.
2020-12-09Removed declaration of non-existent symbolNobuyoshi Nakada
2020-12-09Add support for non-blocking `Process.wait`.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/3853
2020-12-08memory_view.c: Add rb_memory_view_extract_item_members (#3855)Kenta Murata
Notes: Merged-By: mrkn <mrkn@ruby-lang.org>
2020-12-08Windows: Read ENV names and values as UTF-8 encoded Strings (#3818)Lars Kanis
* Windows: Read ENV names and values as UTF-8 encoded Strings Implements issue #12650: fix https://bugs.ruby-lang.org/issues/12650 This also removes the special encoding for ENV['PATH'] and some complexity in the code that is unnecessary now. * Windows: Improve readablity of getenv() encoding getenv() did use the expected codepage as an implicit parameter of the macro. This is mis-leading since include/ruby/win32.h has a different definition. Using the "cp" variable explicit (like the other function calls) makes it more readable and consistent. * Windows: Change external C-API macros getenv() and execv() to use UTF-8 They used to process and return strings with locale encoding, but since all ruby-internal spawn and environment functions use UTF-8, it makes sense to change the C-API equally. Notes: Merged-By: nurse <naruse@airemix.jp>
2020-12-07Removed deprecated Time#succNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3841
2020-12-07Doxygen terminology update [ci skip]卜部昌平
Follow N2328 http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2328.pdf
2020-12-07Revert getaddrinfo_a()Masaki Matsushita
getaddrinfo_a() gets stuck after fork(). To avoid this, we need 1 second sleep to wait for internal worker threads of getaddrinfo_a() to be finished, but that is unacceptable. [Bug #17220] [Feature #17134] [Feature #17187]
2020-12-07Revert "memory_view.c: Add rb_memory_view_extract_item_members"Kenta Murata
This reverts the following three commits. - ce707079c153f389d861c91a8dccc510fab0e245 - 1a76bb56b0ba99a19d1373c4c8ebac42e7b6f27c - 51500eedefa492699668ced3e07e330a9a4d53ee
2020-12-06memory_view.c: Fix the argument type of rb_memory_view_extract_item_membersKenta Murata
2020-12-06memory_view.c: Add rb_memory_view_extract_item_membersKenta Murata
2020-12-06Call cleanup function for getaddrinfo_a(3) only before fork()Masaki Matsushita
Previously, rb_getaddrinfo_a_before_exec() is called from before_exec(). However, the function needs to be called only before fork(). The change moves it to before_fork().
2020-12-04Add a hook before fork() for getaddrinfo_a()Masaki Matsushita
We need stop worker threads in getaddrinfo_a() before fork(). This change adds a hook before fork() that cancel all outstanding requests and wait for all ongoing requests. Then, it waits for all worker threads to be finished. Fixes [Bug #17220]
2020-12-04Fix typos [ci skip]Kazuhiro NISHIYAMA
2020-12-03include/ruby/internal/xmalloc.h: add doxygen卜部昌平
Thought it was not a bad idea to document these CAPI. [ci skip]
2020-12-01Fix docs about movement for rb_gc_register_mark_object()Alan Wu
This API in fact pins objects passed to it. See vm.c:2546. Notes: Merged: https://github.com/ruby/ruby/pull/3815
2020-12-01rb_ext_ractor_safe() to declare ractor-safe extKoichi Sasada
C extensions can violate the ractor-safety, so only ractor-safe C extensions (C methods) can run on non-main ractors. rb_ext_ractor_safe(true) declares that the successive defined methods are ractor-safe. Otherwiwze, defined methods checked they are invoked in main ractor and raise an error if invoked at non-main ractors. [Feature #17307] Notes: Merged: https://github.com/ruby/ruby/pull/3824
2020-12-01ractor local storage C-APIKoichi Sasada
To manage ractor-local data for C extension, the following APIs are defined. * rb_ractor_local_storage_value_newkey * rb_ractor_local_storage_value * rb_ractor_local_storage_value_set * rb_ractor_local_storage_ptr_newkey * rb_ractor_local_storage_ptr * rb_ractor_local_storage_ptr_set At first, you need to create a key of storage by rb_ractor_local_(value|ptr)_newkey(). For ptr storage, it accepts the type of storage, how to mark and how to free with ractor's lifetime. rb_ractor_local_storage_value/set are used to access a VALUE and rb_ractor_local_storage_ptr/set are used to access a pointer. random.c uses this API. Notes: Merged: https://github.com/ruby/ruby/pull/3822
2020-11-30Keep references of memory-view-exported objects (#3816)Kenta Murata
* memory_view.c: remove a reference in view->obj at rb_memory_view_release * memory_view.c: keep references of memory-view-exported objects * Update common.mk * memory_view.c: Use st_update Notes: Merged-By: mrkn <mrkn@ruby-lang.org>
2020-11-27Use opaque struct pointer than voidNobuyoshi Nakada