Skip to content

Commit

Permalink
Merge pull request #34 from artbear/feature/start-env-fix-33
Browse files Browse the repository at this point in the history
Обход эпизодического бага при старте процессов
  • Loading branch information
artbear authored Apr 26, 2018
2 parents cea8dc0 + 411457e commit 9c7cd56
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 1 deletion.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@ exec.log
bdd-log.xml
*.ospx
coverage/
oscript_modules/
23 changes: 22 additions & 1 deletion src/Команда.os
Original file line number Diff line number Diff line change
Expand Up @@ -314,7 +314,28 @@

Исключение
Инфо = ИнформацияОбОшибке();
ВызватьИсключение Инфо.ПодробноеОписаниеОшибки();

// TODO код проверки на регулярку (ниже) убрать после выпуска релиза OneScript 1.0.21
РегуляркаОшибкиПеременныхСреды = Новый РегулярноеВыражение("\(System\.ArgumentException\):[^:]+:.*HOME[^:]+:.*home");
Если РегуляркаОшибкиПеременныхСреды.Совпадает(Инфо.Описание) Тогда
Лог.Предупреждение("Возникла ошибка, связанная с переменными среды при старте нового процесса
|В связи с багом в движке OneScript до версии 1.0.21
|%1
|
|Выполняю старт процесса без указания переменных среды.", Инфо.Описание);

Лог.Отладка("Полное описание ошибки:
|%1", Инфо.ПодробноеОписаниеОшибки());

Если КодировкаВывода = Неопределено Тогда
Процесс = СоздатьПроцесс(СтрокаЗапуска, РабочийКаталог, ПерехватыватьПотоки, ПерехватыватьПотоки);
Иначе
Процесс = СоздатьПроцесс(СтрокаЗапуска, РабочийКаталог, ПерехватыватьПотоки, ПерехватыватьПотоки, КодировкаВывода);
КонецЕсли;
Иначе
ВызватьИсключение Инфо.ПодробноеОписаниеОшибки();
КонецЕсли;

КонецПопытки;

Процесс.Запустить();
Expand Down

0 comments on commit 9c7cd56

Please sign in to comment.