|
Firebird 3.0.3 - 3.0.4 SS Linux и udf на FreePascal со строковыми параметрами
|
|||
---|---|---|---|
#18+
Вадим Мещеряковпростой код код SafeUdf kdv , этот код действительно есть в Safe Udf? Серверу будет очень весело, когда он захочет использовать результат уже после того, как освободил входящие параметры. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2018, 18:17 |
|
Firebird 3.0.3 - 3.0.4 SS Linux и udf на FreePascal со строковыми параметрами
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovэтот код действительно есть в SafeUdf? какой именно "этот" код? Мне кажется, ты перепутал эксперименты Мещерякова. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2018, 19:41 |
|
Firebird 3.0.3 - 3.0.4 SS Linux и udf на FreePascal со строковыми параметрами
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovКак я и сказал выше: FPC игнорирует IsMultithreaded. Вы уже пошли и написали это ему в трекер? Это не баг а фича. в документации на freepascal.org (там я и нашел решение проблемы) написано: You don´t need any special unit for this to work with Windows. However with Linux, Mac OS X and FreeBSD, you need the cthreads unit and it must be the first used unit of the project (the program source, usually the .lpr file)! вот тут http://wiki.freepascal.org/Multithreaded_Application_Tutorial%5D]http://wiki.freepascal.org/Multithreaded_Application_Tutorial] ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2018, 20:22 |
|
Firebird 3.0.3 - 3.0.4 SS Linux и udf на FreePascal со строковыми параметрами
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov этот код действительно есть в Safe Udf? Серверу будет очень весело, когда он захочет использовать результат уже после того, как освободил входящие параметры. Вот код из SafeUdf.dpr { DECLARE EXTERNAL FUNCTION function3 CSTRING(80) RETURNS CSTRING(80) ENTRY_POINT 'function3' MODULE_NAME 'safeudf' } function function3(P1: PChar): PChar; cdecl; export; begin P1:=StrCopy(P1, P1); Result:=P1; end; Онт работает везде и всегда ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2018, 20:25 |
|
Firebird 3.0.3 - 3.0.4 SS Linux и udf на FreePascal со строковыми параметрами
|
|||
---|---|---|---|
#18+
Вадим МещеряковcthreadsСтранное название для модуля, который наверняка меняет менеджер памяти. Хотя я не смотрел. Но почему это не по умолчанию для невинды - загадочно. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2018, 20:27 |
|
Firebird 3.0.3 - 3.0.4 SS Linux и udf на FreePascal со строковыми параметрами
|
|||
---|---|---|---|
#18+
kdvкакой именно "этот" код? Приведённый чуть ниже твоего поста. Возвращающий из функции указатель, полученный на вход. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2018, 21:06 |
|
Firebird 3.0.3 - 3.0.4 SS Linux и udf на FreePascal со строковыми параметрами
|
|||
---|---|---|---|
#18+
Вадим МещеряковЭто не баг а фича. Кривой костыль это. Установки IsMultithreaded должно быть достаточно для того, чтобы штатный менеджер памяти работал с учётом использования его из разных потоков. Но аффтары FPC, как обычно, ниасилили. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2018, 21:16 |
|
Firebird 3.0.3 - 3.0.4 SS Linux и udf на FreePascal со строковыми параметрами
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Дима каждый инструмент диктует свои правила. В каждом есть свой набор костылей. Если какому-то инструменту нужны костыли это не значит что им нельзя пользоваться, надо всего лишь знать о наличии оных. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2018, 21:47 |
|
Firebird 3.0.3 - 3.0.4 SS Linux и udf на FreePascal со строковыми параметрами
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, 1. я не помню, зачем там вот это P1:=StrCopy(P1, P1); в функции3. 2. "Возвращающий из функции указатель, полученный на вход." насколько я помню, аллокируется ФБ именно входной параметр (иначе никак), а выходной - никак не аллокируется (кроме случая free_it, которое является явным указанием ФБ что выходной параметр надо деаллокировать). Поэтому передать указатель входного параметра как выходной - получается норм. ФБ уничтожит только входной параметр. А значение будет получено до его уничтожения (по идее). ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2018, 21:59 |
|
Firebird 3.0.3 - 3.0.4 SS Linux и udf на FreePascal со строковыми параметрами
|
|||
---|---|---|---|
#18+
Зачем фантазировать про менеджеры памяти и прочее, если есть явное описание https://www.freepascal.org/docs-html/rtl/cthreads/index.html ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2018, 22:14 |
|
Firebird 3.0.3 - 3.0.4 SS Linux и udf на FreePascal со строковыми параметрами
|
|||
---|---|---|---|
#18+
Симонов ДенисДима каждый инструмент диктует свои правила. Я не против, но надо же либо трусы надеть, либо крестик снять. То бишь отдельные менеджеры памяти на каждый чих и платформу - ок, но тогда неработающую IsMultithreaded надо на соответствующих платформах либо выкосить, либо объявлять только в тех ММ, которые умеют ею пользоваться. А создавать иллюзию работы с последующим segfault - это всё же баг. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2018, 22:18 |
|
Firebird 3.0.3 - 3.0.4 SS Linux и udf на FreePascal со строковыми параметрами
|
|||
---|---|---|---|
#18+
hvladЗачем фантазировать про менеджеры памяти и прочее, если есть явное описание https://www.freepascal.org/docs-html/rtl/cthreads/index.html Да, но в этом описании не сказано, что если 2-м юнитом проекта не указать менеджер cmem, то тоже проблемы segfault бывают. "Так свидетельствуют люди"... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2018, 01:22 |
|
Firebird 3.0.3 - 3.0.4 SS Linux и udf на FreePascal со строковыми параметрами
|
|||
---|---|---|---|
#18+
Не знаю у меня все работает ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2018, 10:57 |
|
Firebird 3.0.3 - 3.0.4 SS Linux и udf на FreePascal со строковыми параметрами
|
|||
---|---|---|---|
#18+
YuRockпроблемы segfault бывают. "Так свидетельствуют люди"...Потому что компилировать нужно в полнолуние. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2018, 11:42 |
|
Firebird 3.0.3 - 3.0.4 SS Linux и udf на FreePascal со строковыми параметрами
|
|||
---|---|---|---|
#18+
Вадим МещеряковИменно так и создают сообщество, сообщество которое может помочь и в которое не бояться заходить новые участники.Ты заходи, не бойся :) Главное, не путать форум с техподдержкой. У нас тут, в зависимости от настроения, чаще пытаются всучить чертёж удочки, чем рыбу. Не воспринимай это как попытку тебе нахамить или потешить чьё-то эго. (Обычно оно настолько большое, что такими мелочами его не потешить ) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2018, 09:25 |
|
|
start [/forum/topic.php?fid=40&msg=39664737&tid=1561065]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
66ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 9ms |
total: | 165ms |
0 / 0 |