7a55a6e6b6
ServerKiller: harden against spurious wakeups
...
If awakened by spurious wakeup, the thread would immediately exit without doing anything, rendering it useless.
Not sure how it took so long for this to be found...
2023-12-20 17:22:11 +00:00
0ad6429fee
Fix RegistryTrait documentation ( #6153 )
2023-11-13 11:15:07 +00:00
093b1e1b18
Merge branch 'stable' into minor-next
2023-09-08 12:48:40 +01:00
a5aeabd836
RegistryTrait: fixed mishandling of self::$members
...
Since PHPStan doesn't warn about potential nulls on untyped properties, this flew under the radar.
2023-09-08 12:16:16 +01:00
ae564e445d
Start migrating EnumTrait enums to PHP 8.1 native enums
2023-09-07 17:20:52 +01:00
20a41b00ba
StringToTParser: added registerAlias()
2023-08-23 15:24:29 +01:00
82a5ea9ed3
Allow thread errors and their traces to be properly recorded in crashdumps ( #5910 )
...
until now, any thread crash would show as a generic crash since we aren't able to get the trace from the crashed thread directly. This uses some dirty tricks to export a partially serialized stack trace to the main thread, where it can be written into a crashdump.
This enables us to see proper crash information for async tasks in the crash archive (finally!!!) as well as being able to capture RakLib errors properly.
2023-07-26 16:26:03 +01:00
3afe3b7f44
Merge branch 'stable' into minor-next
2023-07-24 12:02:24 +01:00
9ef835c82d
Merge remote-tracking branch 'origin/legacy/pm4' into stable
2023-07-21 11:07:32 +01:00
9b43ddecbd
Drop usages of Process:kill() with subprocesses parameter
...
we don't need this any more with console reader improvements, and this was not working correctly anyway.
closes #5234
2023-07-20 17:10:39 +01:00
914dd90b3d
Use first-class closures in more places
2023-07-19 13:56:48 +01:00
45d1ce9bb8
Don't mention enchantments in generic StringToTParser doc-comment ( #5894 )
2023-07-14 17:42:19 +01:00
097feba4d5
Absorb pocketmine/log-pthreads into PM core
...
this was previously part of the abandoned package pocketmine/spl. It had to be separated in the PM3 days, because RakLib depended on it.
Since RakLib 0.13, RakLib stopped being dependent on or aware of pthreads, so it no longer depends on any thread-related packages.
It's also possible to absorb pocketmine/snooze and pocketmine/classloader back into the core with this in mind.
2023-05-20 16:57:24 +01:00
e0630fbb25
pmmpthread support
2023-05-20 01:29:26 +01:00
222415859a
Require pthreads ^5.1
...
This version of pthreads has a substantially improved API, improved
performance, improved memory usage, and much less magical and broken
behaviour.
2023-01-23 20:02:33 +00:00
07a30ea1f9
Merge branch 'next-minor' into next-major
2023-01-20 15:42:30 +00:00
6c52723d97
Merge branch 'stable' into next-minor
2023-01-20 15:40:32 +00:00
74e052de51
Terminal: fix deprecation error on PHP 8.2
2023-01-20 01:30:39 +00:00
c2918709a3
Merge branch 'next-minor' into next-major
2023-01-06 01:59:04 +00:00
172ce659b8
Use str_starts_with, str_ends_with and str_contains instead of strpos ( #5485 )
2022-12-31 13:02:23 +00:00
0d31b25fba
Use str_starts_with and str_contains instead of strpos ( #5482 )
2022-12-30 21:41:30 +00:00
c89df7eb1c
Merge remote-tracking branch 'origin/next-minor' into next-major
2022-12-25 18:22:13 +00:00
0d169b4e80
Filesystem: added fileGetContents to reduce ErrorToExceptionHandler boilerplate code
2022-12-25 17:13:51 +00:00
4d79aced07
Merge branch 'next-minor' into next-major
2022-12-15 19:50:27 +00:00
31465525e3
Fixed PHP-CS-Fixer not import global constants. ( #5449 )
2022-12-12 17:12:33 +00:00
b5e6dec0c6
Filesystem: capture error information from attempted lock file creation
2022-12-06 14:06:08 +00:00
99996b62d6
Align PhpDoc @param tags according to PHP-CS-Fixer
2022-12-06 13:21:20 +00:00
142ccc7e87
Merge branch 'next-minor' into next-major
2022-12-05 14:14:39 +00:00
eb62dc3294
Added documentation for RegistryTrait, EnumTrait and CloningRegistryTrait
2022-11-30 21:04:17 +00:00
b6982a84ef
Merge branch 'next-minor' into next-major
2022-11-25 14:52:56 +00:00
d79e6354a0
Merge branch 'stable' into next-minor
2022-11-25 14:41:05 +00:00
aad9f5fb45
Terminal: use fallback escape codes if TERM env var is not set
...
tput requires a value for TERM, so it will generate errors if the var is
not set, as it appears not to be in PhpStorm on macOS.
2022-11-24 22:52:33 +00:00
fdb07cdbcd
Added more missing native types according to 8.0 standards
2022-11-23 14:21:38 +00:00
3b6ff3c42b
Apply union types in some places (BC breaks)
2022-11-23 14:03:35 +00:00
a205d64732
Merge branch 'next-minor' into next-major
2022-11-12 17:02:56 +00:00
a3502a711d
Merge branch 'stable' into next-minor
2022-11-12 17:01:58 +00:00
d5e3636908
Timezone: Apparently timezone_id returned by timezone_abbreviations_list() may be null...
2022-11-12 14:40:37 +00:00
ef100b248b
Improved doc comment for Internet::getIP() ( #5406 )
2022-11-12 13:52:49 +00:00
01bad344a0
Merge branch 'next-minor' into next-major
2022-11-04 20:47:26 +00:00
cdbdcb5d67
Merge branch 'stable' into next-minor
2022-11-04 20:44:28 +00:00
2fdc46c165
PHPStan 1.9 features
2022-11-04 20:23:34 +00:00
bfd1b2c635
PHPStan 1.9.1
2022-11-04 18:28:07 +00:00
7bcc663b60
Migrate core code to using symfony/filesystem
...
webmozart/path-util is retained for plugin compatibility, but is dropped in 5.0
2022-10-14 21:51:29 +01:00
f88ae93897
BC break: Replaced webmozart/path-util with symfony/filesystem, closes #5332
2022-10-13 16:43:36 +01:00
4b41b2f9ae
Merge remote-tracking branch 'origin/next-minor' into next-major
2022-09-28 16:15:35 +01:00
b87e4d8bd3
Introduce and use TextFormat::addBase() ( #5268 )
...
This function adds "base" format to a string. The given formats are inserted directly after any RESET code in the sequence.
An example of where this is needed is in the logger.
Without this change, the following code:
$logger->notice("I'm a " . TextFormat::RED . "special" . TextFormat::RESET . " cookie");
causes the "cookie" part of the message to show as grey, instead of the expected aqua for NOTICE level messages.
There are also many workarounds for this problem throughout the server, mostly in command outputs, being forced to use WHITE instead of RESET to avoid breaking the logger output.
2022-09-28 16:13:11 +01:00
6f4ea886b0
Merge branch 'next-minor' into next-major
2022-09-28 00:39:00 +01:00
83e5b0adb6
ConsoleCommandSender is no longer responsible for forwarding broadcast messages to the logger ( #5311 )
...
This is a step towards implementing #2543 .
2022-09-27 20:58:33 +01:00
f80ffd8de0
Merge branch 'next-minor' into next-major
2022-09-15 13:59:21 +01:00
88eafdd614
Improve type info for RegistryTrait::getAll() and its users
2022-09-02 19:57:22 +01:00