debi12345 писал(а):и все эти бзыки - именно от файловой системы
Воблин

По проекту: напрочь заьбыл, что собирался делать, прошёлся по коду свежим взглядом...
Я ДИБИЛ

Ну как... Как можно было бросаться юзать фичу, не убедившись в её надёжности?
threadvar - страшное гуано, все подводные камни записываются к ней на мастер-класс.
Потому что работать не то, что нормально - просто не падая - оно будет только в том исполняемом модуле, для RTL которого родное, и в котором создаются потоки, которые в своих методах вызывают инициализацию для своего потока.
Берём два, их за ногу (или более) модулей, потоки, создаваемые и там и там... Хряп-ии-хряп-ииихряп-дап-ди-хряп!
Только собственный TLS, только созданный своими руками.
Следствие: план расширить Чеперси на работу в разных потоках накрывается... Чем-то неприличным.
И дальше, как говорится,
-- Ну что это? Комета?
-- Хуже! он сказал: "думайте сами"!
Как Чеперси то размножить?
а) оформить её в виде инклюда чтобы вызвать дублирование её кода
б) грузить одну ДЛЛ несколько раз (копируя для этого) чтобы вызвать дублирование кода
В общем, оказалось, что благие намерения (запихать все модули в екзешник, отказавшись от ДЛЛ кроме отладки) создал в 10 раз больше работы, чем создание костыля для линукс, заткнувшего бы баг в RTL (исключения в потоках в ДЛЛ не ловятся, блоки try не работают), которого я пытался избежать.
От фпц 2.6.4 я всё равно откажусь (уже скоро), аналогичную проблему в винде уже решили (с версии 3.2). А может, и для линукса решили: в дебиан упорно держится версия 3.0.4.
Надо:
а) создать таки костыль для линукса
б) полностью перелопатить управление модулями и улучшить свою имплементацию TLS.
в) прикинуть, не стоит ли вернуть всё взад (все модули, кроме служебного - в DLL).