Author Topic: CALL при вызовах в нескольких потоках, возвращает $_return1 в другой поток.  (Read 1869 times)

0 Members and 1 Guest are viewing this topic.

ya12

  • Активный участник
  • ***
  • Posts: 165
    • View Profile
Поймал ошибку. CALL при вызовах в нескольких потоках, периодически возвращает значение $_return1 в другой поток.
В общем нужны или локальные переменные или в явном виде указывать в какую переменную возвращать.

Code: (Логи) [Select]
22:47:23 --------------------START
22:47:23 ->ТО
22:47:24 1111
22:47:24 1211
22:47:25 1211
22:47:25 1011
22:47:25 1011
22:47:26 ТО->
22:47:26 ->ТО
22:47:27 1111
22:47:27 1211
22:47:28 1211
22:47:28 1011
22:47:29 1011
22:47:29 ТО->
22:47:29 ->ТО
22:47:30 1111
22:47:30 1211
22:47:31 1211
22:47:31 1011
22:47:32 1011
22:47:32 ТО->
22:47:32 ->ТО
22:47:33 1111
22:47:34 1211
22:47:34 1211
22:47:35 1011
22:47:35 1011
22:47:35 ТО->
22:47:35 ->ТО
22:47:36 1111
22:47:37 1211
22:47:37 1211
22:47:38 1011
22:47:38 1011
22:47:39 ТО->
22:47:39 ->ТО
22:47:40 1111
22:47:40 1211
22:47:40 1211
22:47:41 1011
22:47:41 1011
22:47:42 ТО->
22:47:42 ->ТО
22:47:43 1211
22:47:43 1211
22:47:44 1211
22:47:44 1011
22:47:44 1011
22:47:45 ТО->
22:47:45 ->ТО
22:47:46 1211
22:47:47 1211
22:47:48 1001
22:47:49 1011
22:47:50 108979 <------------- тут должен был быть 4х значный код, а получил координаты Y
22:47:51 ТО->
22:47:51 ->ТО
22:47:53 1211
22:47:53 1001
22:47:54 1211
22:47:54 1011
22:47:55 1011
22:47:56 ТО->
22:48:02                     -F3

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Не, правильней было бы предложить сделать CALL функцией, тогда эти проблемы пропадут.
типа:
Code: (clickermann) [Select]
$ret = CALL("filename", $par)
Либо, если с массивами (в будущем, надеемся), так не выйдет, то:
Code: (clickermann) [Select]
CALL($ret, "filename", $par) //  $ret - массив, куда пишется ответ из длл.

Кстати интерестно, с массивами вообще это реально или нет? В других языках так работает с длл?  ::)