[Ruby] require 'profile' и многопоточность

Vladimir Shahov v.shahov на sam-solutions.net
Чт Ноя 13 14:49:45 MSK 2003


Добрый день.


Попытался попробовать стандартный Ruby profile и наступил на грабли.

В многопоточной (стандартные Thread) программе при невыясненных условиях наступает "unexpected
break". Сама программа не падает (вся изнутри обвешана exception
handling), но ведет себя неестественно.

Пробовал на двух разнотипных программах - одно и тоже.

frontend отдает не все файлы, для backend'а стандартное сообщение -
internal backend error - "unexpected break", показываются не все
элементы корневого меню - короче глюки по полной

что странно, что убирание require profiler лечит полностью. Более того,
что смешно, profiler несмотря на постоянный бег по минному полю, 
выдает финальную статистику по завершении программы.

Наиболее интенсивно в frontend работа идет с SSLSocket (HTTP протокол с
расширениями), данные запрашиваются у backend по Unix-domain socket.

Backend же интенсивно работает с различными Hash (многопоточно) и
многопоточно же отдает данные по сокету.

Куда приложить руки чтобы заставить профилер работать? (исходники самого
профилера пока не предлагать)

-- 
Vladimir 'mend0za' Shahov, icq 78193930


Подробная информация о списке рассылки Ruby