Difference between revisions of "Изменения в версии 2.3.23"

From EjudgeWiki
(ej-super-run)
 
Line 22: Line 22:
 
=== [[ej-polygon]] ===
 
=== [[ej-polygon]] ===
  
Новая программа для загрузки архивов задач из системы Polygon. Программа используется из административного интерфейса редактирования настроек турнира, но может использоваться и самостоятельно.
+
Новая программа для загрузки архивов задач из системы Polygon. Программа используется из административного интерфейса редактирования настроек турнира, но может использоваться и самостоятельно. Для активации этой возможности необходимо, чтобы при компиляции ejudge в системе была установлена библиотека libcurl (пакеты libcurl, libcurl-devel).
  
 
=== [[ej-super-run]] ===
 
=== [[ej-super-run]] ===
Line 36: Line 36:
 
При редактировании настроек турнира сохраняется старое значение конфигурационных переменных <tt>[[serve.cfg:tester:start_env|start_env]]</tt> для всех секций tester.
 
При редактировании настроек турнира сохраняется старое значение конфигурационных переменных <tt>[[serve.cfg:tester:start_env|start_env]]</tt> для всех секций tester.
  
При редактировании настроек турнира поддерживается импорт задач из системы Polygon. См. далее [[Руководство по импорту задач из системы Polygon в турниры ejudge]].
+
При редактировании настроек турнира поддерживается импорт задач из системы Polygon. См. далее [[Руководство по импорту задач из системы Polygon в турниры ejudge]]. Для активации этой возможности необходимо, чтобы при компиляции ejudge в системе была установлена библиотека libcurl (пакеты libcurl, libcurl-devel).

Latest revision as of 08:28, 25 June 2012

Навигация: Главная страница/Система ejudge/Разработка/История версий/Изменения в версии 2.3.23

Языковые процессоры

Поддерживается отладчик valgrind. Если при конфигурировании языковых процессоров с помощью ejudge-configure-compilers обнаружен valgrind и gcc или g++, то активируются два языковых процессора gcc-vg и g++-vg. Компиляция программы выполняется с помощью соответствующего компилятора, а запускается скомпилированная программа с помощью valgrind.

Таким образом, с помощью gcc-vg и g++-vg можно отслеживать корректность работы тестируемых программ с динамической памятью и полноту освобождения динамической памяти.

Параметры командной строки для запуска valgrind можно передавать с помощью переменной окружения EJUDGE_VG_FLAGS. Если эта переменная окружения не установлена, valgrind запускается с параметрами:

valgrind --quiet --error-exitcode=1 --leak-check=full

ejudge-contests-cmd

При посылке решений поддерживаются задачи типа "select-one".

ej-contests

Поддерживается новая глобальная конфигурационная переменная disable_user_database.

Поддерживается новая глобальная конфигурационная переменная enable_max_stack_size.

ej-polygon

Новая программа для загрузки архивов задач из системы Polygon. Программа используется из административного интерфейса редактирования настроек турнира, но может использоваться и самостоятельно. Для активации этой возможности необходимо, чтобы при компиляции ejudge в системе была установлена библиотека libcurl (пакеты libcurl, libcurl-devel).

ej-super-run

При запуске программы на выполнение учитываются переменные окружения, установленные в конфигурационной переменной start_env, которые имеют больший приоритет перед значениями переменных, заданными в конфигурационном файле super-run.cfg.

Изменен алгоритм отслеживания превышения максимального времени выполнения. Теперь состояние работы тестируемого процесса отслеживается каждые 0.1 с с помощью чтения содержимого файла /proc/PID/stat. Как только процессорное время работы процесса превышает лимит времени, процесс убивается.

Если процесс выполняется под управлением ядра linux версии >= 3, не используется миллисекундный лимит ограничения времени работы процесса, так как патч для ядер версии >= 3 больше не поддерживает эту возможность.

ej-super-server

При редактировании настроек турнира сохраняется старое значение конфигурационных переменных start_env для всех секций tester.

При редактировании настроек турнира поддерживается импорт задач из системы Polygon. См. далее Руководство по импорту задач из системы Polygon в турниры ejudge. Для активации этой возможности необходимо, чтобы при компиляции ejudge в системе была установлена библиотека libcurl (пакеты libcurl, libcurl-devel).