David Carlier
17cf7b381a
ext/pcntl adding Pcntl namespace for Qos class.
...
Close GH-14892
2024-07-10 19:15:04 +01:00
Vladimir Vrzić
c2fd071db7
ext/pcntl: Added new function pcntl_waitid
...
to obtain status information pertaining termination, stop, and/or
continue events in one the caller's child processes.
close GH-14617
2024-07-07 11:04:14 +01:00
David Carlier
d40726670f
ext/pcntl: pcntl_getqos_class/pcntl_setqos_class addition.
...
Introducting macOs Quality Of Service through those two calls.
on macOs arm64/M*, there is no concept of individual cores, thus
the old thread policy for cpu affinity does not work here.
Instead, the user can apply to the current process the level of
performance/energy consumption they wish from the highest
QosClass::UserInteractive to QosClass::Background.
Close GH-13945
2024-04-15 18:52:28 +01:00
Dmitry Stogov
a37d661db5
Fix false positive test failure
2024-04-10 09:01:46 +03:00
David Carlier
d8f2900574
ext/pcntl: adding pcntl_getcpu.
...
using sched_getcpu under the hood (Linux and FreeBSD).
Returns the current cpu id for the current process.
For Linux, we need to see beyond the sole presence of the symbol
to consider it.
Mostly useful, for now, in the cpu affinity context since
the os can migrate processes as it sees fits otherwise.
Clos GH-13908
2024-04-07 20:05:03 +01:00
David CARLIER
dd2ffaab2c
ext/pcntl: pcntl affinity improves EINVAL handling in both cases. ( #13907 )
...
also disable tests on travis.
2024-04-07 16:43:36 +01:00
David Carlier
1cf8291c85
ext/pcntl: cpu affinity api introduction.
...
For now, working on Linux, FreeBSD >= 13.x and DragonFlyBSD.
Handy wrapper to assign an array of cpu ids or to retrieve the cpu ids
assigned to a given process.
pcntl_setaffinity inserts valid unique cpu ids (within the range of available
cpus).
Close GH-13893
2024-04-07 00:56:54 +01:00
David Carlier
ae4978a139
ext/pcntl: adding pcntl_setns for Linux >= 5.3
...
allows a given process to join an existing Linux namespace, relatively
complementary to the existing pcntl_unshare.
Close GH-13878
2024-04-04 18:45:15 +01:00
David CARLIER
7db7c420f1
ext/pcntl: pcntl_unshare minor error message clarification (for EINVAL). ( #13872 )
...
it is not necessarily a bad flag but can just be unsupported by the
current kernel.
2024-04-02 23:26:07 +01:00
divinity76
6d0a3e86f0
[skip ci] accidentally used print() instead of die() ( #13158 )
2024-01-17 01:40:04 +01:00
Gina Peter Banyard
1bdb0fddc1
Refactor pcntl_sigprocmask()/pcntl_sigwaitinfo()/pcntl_sigtimedwait() ( #11860 )
2023-11-16 00:40:18 +00:00
Ilija Tovilo
8eb740b432
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Fix getpriority test with negative return value
2023-09-22 10:26:10 +02:00
Ilija Tovilo
645ea22390
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix getpriority test with negative return value
2023-09-22 10:26:01 +02:00
Ilija Tovilo
181598d403
Fix getpriority test with negative return value
...
Negative return values are valid and denote higher priority.
https://man7.org/linux/man-pages/man2/setpriority.2.html
2023-09-22 10:25:15 +02:00
Niels Dossche
633e7455e5
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Revert the fix for GH-11498
2023-08-03 21:59:35 +02:00
Niels Dossche
c59bfc8d98
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Revert the fix for GH-11498
2023-08-03 21:59:21 +02:00
Niels Dossche
f7be15dbad
Revert the fix for GH-11498
...
People relied on manually waiting for children, but the fix for GH-11498
broke this. Fixing this in PHP is fundamentally incompatible with doing
the wait loop in userland. This reverts to the old behaviour.
Closes GH-11863.
2023-08-03 21:48:34 +02:00
Ilija Tovilo
28117d718f
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Attempt to fix gh11498.phpt on MSAN
2023-06-30 09:42:46 +02:00
Ilija Tovilo
04cd8859dd
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Attempt to fix gh11498.phpt on MSAN
2023-06-30 09:42:34 +02:00
Ilija Tovilo
07dd0c80a8
Attempt to fix gh11498.phpt on MSAN
...
The issue might be that due to slow instrumentation the process might end before
we get to add it to the processes list. If the SIGCHLD handler executes before
adding the process to the list it will never be removed again.
2023-06-30 09:39:19 +02:00
Ilija Tovilo
db2ac3a656
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Fix use of uninitialized memory in pcntl SIGCHLD handling
2023-06-27 11:03:48 +02:00
Ilija Tovilo
7d188491c4
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix use of uninitialized memory in pcntl SIGCHLD handling
2023-06-27 11:03:42 +02:00
Ilija Tovilo
003cf9da78
Fix use of uninitialized memory in pcntl SIGCHLD handling
...
psig needs to stay the tail, so that we don't get a dangling element on the end.
Closes GH-11536
2023-06-27 11:02:59 +02:00
Niels Dossche
0de8bc270d
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Fix GH-11498: SIGCHLD is not always returned from proc_open
2023-06-23 22:04:40 +02:00
Niels Dossche
022b6aa4cb
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix GH-11498: SIGCHLD is not always returned from proc_open
2023-06-23 21:58:05 +02:00
nielsdos
f39b513916
Fix GH-11498: SIGCHLD is not always returned from proc_open
...
Linux, and maybe other unixes, may merge multiple standard signals into
a single one. This causes issues when keeping track of process IDs.
Solve this by manually checking which children are dead using waitpid().
Test case is based on taka-oyama's test code.
Closes GH-11509.
2023-06-23 21:56:21 +02:00
Mikhail Galanin
a6911cbd4d
Suppress warning when the test run under non-root ( #11400 )
...
When we run the test under non-root user, the test gets BORKed with:
Warning: pcntl_unshare(): Error 1: No privilege to use these flags in ext/pcntl/tests/pcntl_unshare_03.skip.php on line 8
skip Insufficient privileges for CLONE_NEWUSER
It looks like for the root-user there is the similar warning which is already suppressed (see the following "skip").
Let us skip the test properly if we aren't able to execute it
2023-06-08 16:16:47 +02:00
Ilija Tovilo
fc88f155be
Add zend_alloc XLEAK support
...
In the future we may want to use a different exit code to warn for tests that
didn't leak.
Closes GH-10999
2023-04-03 12:55:26 +02:00
Ilija Tovilo
b08901b63f
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Migrate i386 to GitHub actions
2022-11-03 14:37:59 +01:00
Ilija Tovilo
ed1e703716
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Migrate i386 to GitHub actions
2022-11-03 14:37:17 +01:00
Ilija Tovilo
75970077b0
Migrate i386 to GitHub actions
...
Closes GH-9856
2022-11-03 14:34:54 +01:00
jcm
663b037c7b
QA - pcntl - adjust tests set/get priority check env vars and root user
2022-08-09 21:16:21 +01:00
jcm
520bb2ec6c
Fix get/set priority - error handling for MacOS and extra tests
...
Closes GH-9044.
2022-07-27 13:53:42 +02:00
Juan Morales
7b301e3a5e
QA - pcntl_signal - error when handler is int and not SIG_DFL or SIG_IGN
...
Closes GH-9001.
2022-07-14 13:13:59 +02:00
Juan Morales
492f9c607a
QA - pcntl_exec - check stringable parameters error
...
Closes GH-8990.
2022-07-13 18:29:15 +02:00
Juan Morales
23654a172e
QA - Test Cov - ext:pcntl - pcntl_signal() - max signal allowed ( #8956 )
...
Co-authored-by: jcm <juan.carlos.morales@tradebyte.com >
Co-authored-by: Christoph M. Becker <cmbecker69@gmx.de >
2022-07-11 13:45:42 +01:00
Dmitry Stogov
47435d679c
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Partially fix handling of exceptions thrown in interrupt handlers
2021-11-11 21:02:35 +03:00
Dmitry Stogov
271cbe527c
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Partially fix handling of exceptions thrown in interrupt handlers
2021-11-11 21:01:40 +03:00
Dmitry Stogov
fa0b84a06b
Partially fix handling of exceptions thrown in interrupt handlers
2021-11-11 20:59:56 +03:00
Kamil Tekiela
c3dda473cc
Fix 'can not' in test data and in code comments
2021-10-05 09:51:58 +01:00
Patrick Allaert
ac18dd0dc7
Prefer EXPECT over EXPECTF
2021-06-29 17:13:02 +02:00
Nikita Popov
6600ad6067
Add some missing EXTENSIONS sections to misc tests
2021-06-14 14:52:44 +02:00
Nikita Popov
7485978339
Migrate SKIPIF -> EXTENSIONS ( #7138 )
...
This is an automated migration of most SKIPIF extension_loaded checks.
2021-06-11 11:57:42 +02:00
David Carlier
007046fdd0
pcntl_rfork: following-up suggestions.
...
removing RFMEM constant.
treating beforehand the only case where rfork would return EINVAL.
2021-06-03 15:13:12 +02:00
David Carlier
28382aa1ec
pcntl: Adding pcntl_rfork support.
2021-05-31 09:19:15 +02:00
David CARLIER
90b843beb6
Add FreeBSD to CI ( #6974 )
...
This is using Cirrus, as none of the CI providers we already use support FreeBSD.
2021-05-21 12:00:46 +02:00
Matteo Beccati
be1fbdbb78
Merge branch 'PHP-8.0'
...
* PHP-8.0:
Increased test compatibility
2021-04-11 17:32:22 +02:00
Matteo Beccati
7f4784c1c9
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
Increased test compatibility
2021-04-11 17:32:13 +02:00
Matteo Beccati
da3a807f22
Increased test compatibility
...
The test expects no masked signals at the beginning, but when run as part
of a Bamboo build, SIGQUIT is already masked and the test fails.
2021-04-11 17:19:58 +02:00
Nikita Popov
1b3b430f47
Add --repeat testing mode
...
This testing mode executes the test multiple times in the same
process (but in different requests). It is primarily intended to
catch tracing JIT bugs, but also catches state leaks across
requests.
Closes GH-6365.
2020-10-30 17:29:33 +01:00