Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37037927
en ru br
Репозитории ALT

Группа :: Разработка/Прочее
Пакет: php8.1

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: php-8.1-e2k.patch
Скачать


diff --git a/Zend/zend_fibers.c b/Zend/zend_fibers.c
index 92ae9b88..a947768c 100644
--- a/Zend/zend_fibers.c
+++ b/Zend/zend_fibers.c
@@ -328,7 +328,13 @@ ZEND_API bool zend_fiber_init_context(zend_fiber_context *context, void *kind, z
 	handle->uc_stack.ss_flags = 0;
 	handle->uc_link = NULL;
 
+#ifdef __e2k__
+	if (UNEXPECTED(makecontext_e2k(handle, (void (*)(void)) zend_fiber_trampoline, 0) < 0)) {
+		return false;
+	}
+#else
 	makecontext(handle, (void (*)(void)) zend_fiber_trampoline, 0);
+#endif
 
 	context->handle = handle;
 #else
@@ -354,6 +360,10 @@ ZEND_API void zend_fiber_destroy_context(zend_fiber_context *context)
 {
 	zend_observer_fiber_destroy_notify(context);
 
+#ifdef __e2k__
+	freecontext_e2k(&context->stack->ucontext);
+#endif
+
 	zend_fiber_stack_free(context->stack);
 }
 
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin