mirror of
https://github.com/php/web-pecl.git
synced 2026-03-23 23:02:08 +01:00
Don't expect TS only extensions to have NTS builds (#97)
As it is now, only DLLs of extensions which have been built for NTS and
ZTS are shown on the respective extension page. This has probably been
done to avoid "broken" extensions to be shown, to avoid confusion for
users ("where are the ZTS builds?"), and likely to endorse NTS builds
for security (ASLR) and stability reasons.
However, there are some extensions which do not support NTS builds by
design, and I don't see a particularly good reason not to show their
DLLs. To avoid issues with extensions which are supposed to be
compatible with NTS and ZTS, we hard-code the list of extensions which
are supposed to work in thread-safe mode only.
This commit is contained in:
committed by
GitHub
parent
8fe853663b
commit
c7e82865af
@@ -100,6 +100,8 @@ class PackageDll
|
||||
],
|
||||
];
|
||||
|
||||
private $ts_only_dlls = ['parallel', 'pthreads'];
|
||||
|
||||
/**
|
||||
* Class constructor.
|
||||
*/
|
||||
@@ -230,7 +232,8 @@ class PackageDll
|
||||
}
|
||||
|
||||
/**
|
||||
* Need always both ts/nts for each branch.
|
||||
* Need always both ts/nts for each branch,
|
||||
* except for explicitly listed ts only exts.
|
||||
*/
|
||||
private function getZipFileList($name, $version)
|
||||
{
|
||||
@@ -247,7 +250,9 @@ class PackageDll
|
||||
if (!isset($ret[$branch][$set["arch"]])) {
|
||||
$ret[$branch][$set["arch"]] = [];
|
||||
}
|
||||
$ret[$branch][$set["arch"]][] = strtolower($pref . "-nts-" . $suf);
|
||||
if (!in_array($name, $this->ts_only_dlls, true)) {
|
||||
$ret[$branch][$set["arch"]][] = strtolower($pref . "-nts-" . $suf);
|
||||
}
|
||||
$ret[$branch][$set["arch"]][] = strtolower($pref . "-ts-" . $suf);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user