aboutsummaryrefslogtreecommitdiffstats
path: root/process.c
Commit message (Collapse)AuthorAgeFilesLines
* [ci skip] Fix docsPeter Zhu2022-04-131-1/+1
|
* Fix some RDoc links (#5778)Burdette Lamar2022-04-081-1/+1
|
* Prefix ccan headers (#4568)Nobuyoshi Nakada2022-03-301-19/+19
| | | | | | | | | | | | | * Prefixed ccan headers * Remove unprefixed names in ccan/build_assert * Remove unprefixed names in ccan/check_type * Remove unprefixed names in ccan/container_of * Remove unprefixed names in ccan/list Co-authored-by: Samuel Williams <samuel.williams@oriontransfer.co.nz>
* [DOC] Fix documentation typo for Process#clock_gettimeThierry Joyal2022-03-071-1/+1
| | | | Fixes [Misc #18610]
* Use symbols for clock IDs if `clockid_t` is not numericNobuyoshi Nakada2022-02-191-19/+134
|
* Set static IDs to same name variablesNobuyoshi Nakada2022-02-191-30/+31
|
* Enhanced RDoc concerning command injection (#5537)Burdette Lamar2022-02-181-0/+3
| | | | | | | | | | | | | | | | Clarifies security vulnerabilities for commands. Treats: Kernel.system Kernel.` (backtick) IO.popen IO.read IO.write IO.binread IO.binwrite IO.readlines IO.foreach
* Accurately report VM memsizeKevin Newton2022-01-211-0/+15
| | | | | | Currently the calculation only counts the size of the struct. This commit adds the size of the associated st tables, id tables, and linked lists. Still missing is the size of the ractors and (potentially) the size of the object space.
* [DOC] Enhanced Process.groups relatedNobuyoshi Nakada2022-01-191-6/+7
| | | | | | * On some platforms (e.g., macOS), the user's default group access list may exceed `NGROUPS_MAX`. * Use upcase "GID" instead of "gid" for other than variable names.
* [Feature #18491] Drop support for HP-UXPeter Zhu2022-01-181-1/+0
| | | | | IA64 support was dropped in ticket #15894, so we can drop support for HP-UX.
* Replace to RBOOL macroS-H-GAMELINKS2022-01-171-6/+1
|
* [DOC] Fix docs rendering for Process._fork [ci skip]Matheus Richard2021-12-151-2/+2
| | | Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
* Some codes replace to `RBOOL` macro (#5023)S.H2021-11-091-16/+4
| | | | | | | * Some code replace and using RBOOL macro * Fix indent * Using RBOOL in syserr_eqq function
* process.c: Add Process._fork (#5017)Yusuke Endoh2021-10-251-9/+39
| | | | | | | | | | * process.c: Add Process._fork This API is supposed for application monitoring libraries to hook fork event. [Feature #17795] Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
* Fill pid and error in the statusNobuyoshi Nakada2021-10-191-2/+7
|
* Rework order of operations to better handle last_status.Samuel Williams2021-09-221-9/+6
|
* Add support for non-blocking `Kernel.system`.Samuel Williams2021-09-221-64/+109
|
* Handle overwriting Object::ENV in spawnJeremy Evans2021-09-141-5/+6
| | | | | | | | | Instead of looking for Object::ENV (which can be overwritten), directly look for the envtbl variable. As that is static in hash.c, and the lookup code is in process.c, add a couple non-static functions that will return envtbl (or envtbl#to_hash). Fixes [Bug #18164]
* Replace RBOOL macroS-H-GAMELINKS2021-09-051-1/+1
|
* Add Windows as a supported OS for Process.clock_gettime [ci skip]Lars Kanis2021-08-281-2/+2
|
* `popen()` is not available on emscriptenNobuyoshi Nakada2021-08-161-1/+1
|
* Suppress unused-variable warningsNobuyoshi Nakada2021-08-161-2/+2
|
* [DOC] mention how the command is passed to the shell [ci skip]Nobuyoshi Nakada2021-08-031-1/+2
|
* [DOC] Fix Process::exec documentation [ci skip]Nobuyoshi Nakada2021-07-311-1/+1
| | | | | | Shell reserved words and special built-in commands can be placed at only the beginning of the command (except for leading white spaces).
* [DOC] Fix Process::exec documentation [ci skip]Nobuyoshi Nakada2021-07-301-2/+2
| | | | | The environment variable `RUBYSHELL` is used only on Windows, as well as `COMSPEC`.
* Remove unneeded function declarationsS.H2021-07-221-4/+0
|
* process.c: Call rb_thread_atfork in rb_fork_rubyYusuke Endoh2021-07-151-3/+4
| | | | | | | | All occurrences of rb_fork_ruby are followed by a call rb_thread_fork in the created child process. This is refactoring and a potential preparation for [Feature #17795]. (rb_fork_ruby may be wrapped by Process._fork_.)
* Replace copy coroutine with pthread implementation.Samuel Williams2021-07-011-14/+10
|
* Expose scheduler as public interface & bug fixes. (#3945)Samuel Williams2021-02-091-7/+6
| | | | | | | | | * Rename `rb_scheduler` to `rb_fiber_scheduler`. * Use public interface if available. * Use `rb_check_funcall` where possible. * Don't use `unblock` unless the fiber was non-blocking.
* Updated access to Process::Status attributesNobuyoshi Nakada2020-12-241-14/+25
| | | | | pst_pid() no longer returns Qnil even if the receiver is not initialized.
* Store errno in struct rb_process_statusNobuyoshi Nakada2020-12-241-16/+21
| | | | | To propagate errno in the fiber thread scheduler hook. Returns nil when no terminated process.
* Struct::Tms: delete卜部昌平2020-12-221-3/+0
| | | | Has been deprecated since 44c53ee473d3b3973cb5c3ce03fbf4f280fd75ff.
* Fixed indefinite articles before "Integer" [ci skip]Nobuyoshi Nakada2020-12-211-1/+1
|
* Remove unused variableRadosław Bułat2020-12-191-2/+1
|
* Revert "Better cooperation between public/protected/private with attr* and ↵Yusuke Endoh2020-12-181-1/+2
| | | | | | alias_method" This reverts commit 81739ad4fdfcc86a769056fec352f27c686fba1b.
* Better cooperation between public/protected/private with attr* and alias_methodRadosław Bułat2020-12-171-2/+1
|
* Fixed marshal compatibility of Process::StatusNobuyoshi Nakada2020-12-161-0/+25
|
* [DOC] Process::Status.wait return nil if no child processes [ci skip]Nobuyoshi Nakada2020-12-121-3/+3
|
* RDoc states that Process::Status.wait returns nil if cannot waitNobuyoshi Nakada2020-12-111-25/+16
|
* [DOC] Fixed the RDoc location of Process::Status.wait [ci skip]Nobuyoshi Nakada2020-12-111-36/+37
|
* [DOC] Moved RDoc of abort [ci skip]Nobuyoshi Nakada2020-12-111-11/+12
|
* Tweaked `Process::Status.wait`Nobuyoshi Nakada2020-12-091-17/+25
| | | | | | | | * 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.
* Add support for non-blocking `Process.wait`.Samuel Williams2020-12-091-38/+174
|
* Revert getaddrinfo_a()Masaki Matsushita2020-12-071-10/+0
| | | | | | | | 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]
* Call cleanup function for getaddrinfo_a(3) only before fork()Masaki Matsushita2020-12-061-9/+14
| | | | | | 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().
* Add a hook before fork() for getaddrinfo_a()Masaki Matsushita2020-12-041-0/+10
| | | | | | | | | 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]
* Remove obsoleted internal/mjit.h inclusionTakashi Kokubun2020-11-221-1/+1
| | | | :bow:
* fix public interfaceKoichi Sasada2020-11-181-1/+1
| | | | | | | | | | | | | | | | | | To make some kind of Ractor related extensions, some functions should be exposed. * include/ruby/thread_native.h * rb_native_mutex_* * rb_native_cond_* * include/ruby/ractor.h * RB_OBJ_SHAREABLE_P(obj) * rb_ractor_shareable_p(obj) * rb_ractor_std*() * rb_cRactor and rm ractor_pub.h and rename srcdir/ractor.h to srcdir/ractor_core.h (to avoid conflict with include/ruby/ractor.h)
* Rename to `Fiber#set_scheduler`.Samuel Williams2020-11-071-1/+1
|
* freeze Process::StatusKoichi Sasada2020-10-271-0/+1
| | | | It seems immutable information.