michaellukashov / Far-NetBox

SFTP/SCP/FTP/FTPS/WebDAV/S3 client for Far Manager 3 (http://farmanager.com/)
https://forum.farmanager.com/viewtopic.php?t=6317
GNU General Public License v2.0
155 stars 52 forks source link

В релизных сборках создаётся поток дебажного логгера #425

Closed ssvine closed 4 months ago

ssvine commented 4 months ago

В релизных сборках после завершения первого подключения стартует поток глобального дебажного логгера (в Debug сборках он пишет в файл netbox-dbglog.txt), но без настроенного файла. Получается, что просто висит ненужный поток и тратит ресурсы.

С этим логом есть ещё одна проблема. Он впервые создаётся в конструкторе TWinSCPPlugin и после этого нигде явно не закрывается. Его деструктор будет вызван только в результате выполнения ExitProcess, когда поток логгера уже завершился принудительно. Для корректного завершения потока нужно явно управлять временем жизни, выделяя память под класс и используя указатель.

Пулл реквест фиксит упомянутые проблемы. Для полного решения проблемы с корректным завершением работы подготовил ещё один фикс в ветке graceful-exit.