|
gsec 3.0 без пароля
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovА фоновые потоки в Firebird так и не привыкли к мысли, что они могут быть прибиты в любой момент без дополнительного предупреждения.Опять чушь непроверенную несёшь. Не надоело ? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2015, 16:12 |
|
gsec 3.0 без пароля
|
|||
---|---|---|---|
#18+
hvladОпять чушь непроверенную несёшь. Не надоело ? Не постесняешься огласить правильную причину требования вызывать fb_shutdown() перед закрытием приложения? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2015, 16:47 |
|
gsec 3.0 без пароля
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, не хочу тратить на тебя много времени. Поэтому поэмы писать не буду. Могу выслушать твою версию (когда будет время и настроение) и показать где ты не прав. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2015, 17:41 |
|
gsec 3.0 без пароля
|
|||
---|---|---|---|
#18+
hvladМогу выслушать твою версию (когда будет время и настроение) и показать где ты не прав. Ну слушай: при выгрузке библиотеки на Windows есть большие ограничения на вызываемые из DllMain() функции. В частности там запрещены все функции ожидания. Поэтому просигналить потокам "завершись" можно, а подождать пока они это выполнят - нельзя. Дальше - больше: после возврата из DllMain срабатывают деструкторы всех глобальных объектов, включая менеджер пулов со всеми его мутексами. После чего обращение к ним из ещё не завершившихся потоков приводит к крэшу. А чтобы мало не показалось, RTL-ем в конце концов из главного потока вызывается ExitProcess(), который все фоновые потоки пришибает TerminateThread()-ом. И чтобы не копаться во всём этом, была изобретена fb_shutdown() с жёстким требованием вызывать её ещё до выгрузки библиотеки или выхода, чтобы в ней таки можно было подождать завершения потоков. А теперь можешь показывать где я неправ. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2015, 17:53 |
|
gsec 3.0 без пароля
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovА теперь можешь показывать где я неправ.В нечтении кода. Который знает, когда можно ждать, а когда - низзя. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2015, 18:03 |
|
gsec 3.0 без пароля
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovДальше - больше: после возврата из DllMain срабатывают деструкторы всех глобальных объектов, включая менеджер пулов со всеми его мутексами.Нет, они срабатывают не после возврата из DllMain. Их вызывают из DllMain. Если тебе это о чём-то говорит. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2015, 18:05 |
|
gsec 3.0 без пароля
|
|||
---|---|---|---|
#18+
hvlad, если вызов fb_shutdown необязателен для embedded тройки, то почему тогда IBE падает когда отсоединении? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2015, 18:08 |
|
gsec 3.0 без пароля
|
|||
---|---|---|---|
#18+
hvladНет, они срабатывают не после возврата из DllMain. Их вызывают из DllMain. Пофиг. Потокам от этого не легче: они не могут корректно завершиться пока главный не выйдет из DllMain. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2015, 18:15 |
|
gsec 3.0 без пароля
|
|||
---|---|---|---|
#18+
Симонов Денисhvlad, если вызов fb_shutdown необязателен для embedded тройки, то почему тогда IBE падает когда отсоединении?Потому что менее обязателен он стал совсем недавно. Вызывать его в любом случае рекомендуется. И, напоследок, в IBE тоже есть баги - например он не выгружает клиента после неудачного коннекта. За двойное препарирование запросов я даже уже говорить не хочу :) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2015, 18:42 |
|
gsec 3.0 без пароля
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, ну да, когда тебя предметно тычешь носом в незнание - тебе пофиг. Всё, как всегда ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2015, 18:43 |
|
gsec 3.0 без пароля
|
|||
---|---|---|---|
#18+
hvladкогда тебя предметно тычешь носом в незнание - тебе пофиг. Ты лучше ткни где в коде любой DllMain явно вызываются деструкторы глобальных объектов, раз уж утверждаешь, что они вызываются именно там. Вот это действительно будет доказательством того, что я чего-то не знаю. А то пока я всего лишь вижу, что ты наивно считаешь, что я не знаю, что DllEntryPoint, вызываемая системой, и DllMain, объявленная в исходниках, это две разные процедуры. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2015, 18:51 |
|
gsec 3.0 без пароля
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, ОСь вызывает _CRTDllMain, которая вызывает DllMain и потом всю цепочку atexit обработчиков и глобальные деструкторы. Да, я выше имел в виду конечно же CRTDllMain Уймись уже, несчастье ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2015, 18:55 |
|
gsec 3.0 без пароля
|
|||
---|---|---|---|
#18+
hvladДа, я выше имел в виду конечно же CRTDllMain А теперь, когда эта мелкая техническая деталь улажена, ты уже готов указать мне на моё глобальное заблуждение о причинах существования fb_shutdown()? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2015, 18:58 |
|
gsec 3.0 без пароля
|
|||
---|---|---|---|
#18+
hvladя выступил против вот этого утверждения Ты считаешь его неправильным? Фоновые потоки проверяют существование глобальных синглетонов к которым обращаются? Их убиение с помощью TerminateThread не приведёт к порче БД? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2015, 13:25 |
|
gsec 3.0 без пароля
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovhvladя выступил против вот этого утверждения Ты считаешь его неправильным? Фоновые потоки проверяют существование глобальных синглетонов к которым обращаются? Их убиение с помощью TerminateThread не приведёт к порче БД?Читай последние коммиты ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2015, 13:35 |
|
gsec 3.0 без пароля
|
|||
---|---|---|---|
#18+
hvladЧитай последние коммиты Вижу там только решение проблем с сетью. Ненужность вызова fb_shutdown() при завершении приложения, использующего embedded, нигде в них не заявлена. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2015, 13:47 |
|
|
start [/forum/topic.php?fid=40&gotonew=1&tid=1562573]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
9ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 10ms |
total: | 139ms |
0 / 0 |