powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / gsec 3.0 без пароля
18 сообщений из 43, страница 2 из 2
gsec 3.0 без пароля
    #39080295
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovА фоновые потоки в Firebird так и не привыкли к мысли, что они могут быть прибиты в любой
момент без дополнительного предупреждения.Опять чушь непроверенную несёшь. Не надоело ?
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080372
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladОпять чушь непроверенную несёшь. Не надоело ?
Не постесняешься огласить правильную причину требования вызывать fb_shutdown() перед
закрытием приложения?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080494
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

не хочу тратить на тебя много времени. Поэтому поэмы писать не буду.
Могу выслушать твою версию (когда будет время и настроение) и показать где ты не прав.
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080515
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladМогу выслушать твою версию (когда будет время и настроение) и показать где ты
не прав.
Ну слушай: при выгрузке библиотеки на Windows есть большие ограничения на вызываемые из
DllMain() функции. В частности там запрещены все функции ожидания. Поэтому просигналить
потокам "завершись" можно, а подождать пока они это выполнят - нельзя.

Дальше - больше: после возврата из DllMain срабатывают деструкторы всех глобальных
объектов, включая менеджер пулов со всеми его мутексами. После чего обращение к ним из ещё
не завершившихся потоков приводит к крэшу.

А чтобы мало не показалось, RTL-ем в конце концов из главного потока вызывается
ExitProcess(), который все фоновые потоки пришибает TerminateThread()-ом.

И чтобы не копаться во всём этом, была изобретена fb_shutdown() с жёстким требованием
вызывать её ещё до выгрузки библиотеки или выхода, чтобы в ней таки можно было подождать
завершения потоков.

А теперь можешь показывать где я неправ.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080534
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovА теперь можешь показывать где я неправ.В нечтении кода. Который знает, когда можно ждать, а когда - низзя.
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080537
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovДальше - больше: после возврата из DllMain срабатывают деструкторы всех глобальных
объектов, включая менеджер пулов со всеми его мутексами.Нет, они срабатывают не после возврата из DllMain. Их вызывают из DllMain. Если тебе это о чём-то говорит.
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080542
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

если вызов fb_shutdown необязателен для embedded тройки, то почему тогда IBE падает когда отсоединении?
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080550
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladНет, они срабатывают не после возврата из DllMain. Их вызывают из DllMain.
Пофиг. Потокам от этого не легче: они не могут корректно завершиться пока главный не
выйдет из DllMain.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080574
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисhvlad,

если вызов fb_shutdown необязателен для embedded тройки, то почему тогда IBE падает когда отсоединении?Потому что менее обязателен он стал совсем недавно. Вызывать его в любом случае рекомендуется. И, напоследок, в IBE тоже есть баги - например он не выгружает клиента после неудачного коннекта. За двойное препарирование запросов я даже уже говорить не хочу :)
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080575
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

ну да, когда тебя предметно тычешь носом в незнание - тебе пофиг. Всё, как всегда
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080582
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladкогда тебя предметно тычешь носом в незнание - тебе пофиг.
Ты лучше ткни где в коде любой DllMain явно вызываются деструкторы глобальных объектов,
раз уж утверждаешь, что они вызываются именно там. Вот это действительно будет
доказательством того, что я чего-то не знаю. А то пока я всего лишь вижу, что ты наивно
считаешь, что я не знаю, что DllEntryPoint, вызываемая системой, и DllMain, объявленная в
исходниках, это две разные процедуры.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080584
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

ОСь вызывает _CRTDllMain, которая вызывает DllMain и потом всю цепочку atexit обработчиков и глобальные деструкторы.
Да, я выше имел в виду конечно же CRTDllMain

Уймись уже, несчастье
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080586
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladДа, я выше имел в виду конечно же CRTDllMain
А теперь, когда эта мелкая техническая деталь улажена, ты уже готов указать мне на моё
глобальное заблуждение о причинах существования fb_shutdown()?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39083417
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

я выступил против вот этого утверждения 18297961
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39083466
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladя выступил против вот этого утверждения
Ты считаешь его неправильным? Фоновые потоки проверяют существование глобальных
синглетонов к которым обращаются? Их убиение с помощью TerminateThread не приведёт к порче БД?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39083483
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovhvladя выступил против вот этого утверждения
Ты считаешь его неправильным? Фоновые потоки проверяют существование глобальных
синглетонов к которым обращаются? Их убиение с помощью TerminateThread не приведёт к порче БД?Читай последние коммиты
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39083501
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladЧитай последние коммиты
Вижу там только решение проблем с сетью. Ненужность вызова fb_shutdown() при завершении
приложения, использующего embedded, нигде в них не заявлена.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39083863
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovНенужность вызова fb_shutdown() при завершении
приложения, использующего embedded, нигде в них не заявлена.А это кто-то обещал ?
Начни уже читать написанное, а не придуманное тобой.
...
Рейтинг: 0 / 0
18 сообщений из 43, страница 2 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / gsec 3.0 без пароля
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]