Выполнение функции в чужем потоке.

Тема в разделе "WASM.BEGINNERS", создана пользователем assorted, 7 апр 2008.

  1. assorted

    assorted New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    227
    Запускаю в чужем приложении свой поток. Задача - периодично вызывать функцию этого приложения (не функция экспортируемая). Столкнулся с такой проблемой. Если хотя бы раз я вызываю эту функцию - виснет GUI программы. В самой программе изначально задуманно что эта функция вызывается по нажатию ctrl+c. Думаю я не достаточно хорошо разбираюсь в синхронизации потоков - подскажите куда копать?
     
  2. katrus

    katrus New Member

    Публикаций:
    0
    Регистрация:
    7 мар 2007
    Сообщения:
    612
    Наверно нужно подизасемблировать функцию. А так - фиг его знеат что там. Очевидно, что функция расчитанна на выполнение в определенним окружении/потоке и Вы это нарушаете.
     
  3. assorted

    assorted New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    227
    Ну я ставил бряки на все API кроме функций выделения \ освобождения памяти ничего не вызывается. Прсто я искренне надеялся что мой подход не верный и сейчас мне на это укажут, но не тут то было...
     
  4. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Чтобы указать, надо знать что эта функция делает. Для того чтобы зависнуть и не надо API.
    Достаточно одной незаполненной ячейки. Например, вместо числа циклов - 0. И имеем цикл
    на 4 миллиарда.