Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
UDF как функция модуля
|
|||
|---|---|---|---|
|
#18+
Всем привет! Хотелось бы отнестись к загружаемой DLL, которая содержит UDF, как к модулю. это, в первую очередь, опция "NOT FENCED" и обработка DllMain(...) { switch(....) { case DLL_PROCESS_ATTACH: .... case DLL_PROCESS_DETACH: .... для придания модулю состояния (linux - _init/_fini) Кто-нибудь делал/видел такое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2005, 16:20 |
|
||
|
UDF как функция модуля
|
|||
|---|---|---|---|
|
#18+
что-то не пойму какая связь между DllMain и Linux? и зачем вам это надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2005, 16:42 |
|
||
|
UDF как функция модуля
|
|||
|---|---|---|---|
|
#18+
DllMain - для Винды, естественно, связи нет, а я и не писал про связь :) надо сокеты открытые держать между вызовами UDF ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2005, 18:37 |
|
||
|
UDF как функция модуля
|
|||
|---|---|---|---|
|
#18+
В течение какого промежутка времени хотите держать сокет открытым? В течение работы запросы/функции или в течение работы сервера базы данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 09:27 |
|
||
|
UDF как функция модуля
|
|||
|---|---|---|---|
|
#18+
в течение всей работы сервера! AF_INET сокеты в Unix и named pipes в виндах должно работать по идее... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2005, 13:22 |
|
||
|
UDF как функция модуля
|
|||
|---|---|---|---|
|
#18+
Я вам посоветую не заморачиваться на DLLMain() В любой .DDL или в .so можно использовать глобальные переменные. Сделать это не трудно. Единственное, что нужно помнить, что эти внешние фукции - реентерабельные, и экземпляр глобальной переменной будет существовать для всех сессий. По первому обращению к функции соответствующий объект загрузится в память, и прежде чем использовать сокет, вы должны глянуть, а проинициализирован ли он? Если нет - до нужно либо выставить семафор либо мьютекс либо еще какую-фигню. Т.е. что бы два приложения одновременно не стали "инициалилировать" ваш сокет. А дальше - все как всегда. Абсолютно не вижу трудностей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2005, 13:29 |
|
||
|
UDF как функция модуля
|
|||
|---|---|---|---|
|
#18+
ага, я в курсе таких вещей, но тем не менее спасибо за ответ. :) проще всего использовать "compare exchange" - тогда и блокировки не понадобятся. все должно работать, но я ожидал найти отдельный топик в доках, что-то вроде: "extending db2 with persistant modules", а его там нет. Это немного настораживает - не хотелось бы сработать впустую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2005, 13:44 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=33444619&tid=1605618]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
145ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 282ms |
| total: | 527ms |

| 0 / 0 |
