За такие фортили вручную на однокристалке начальство по рукам било больно. <br>ИМХО, идеологически правильно будет разнести sub1, sub2, sub3 и некоторое ядро по разным потокам (threads) и блокировки будут осуществляться операционной системой, разблокировки - по получению сигнала через ядро ОС. Вручную можно влететь на ошибки синхронизации сигналов и их перекрытия<br>
<br>модуль для этого из CPAN <a href="http://search.cpan.org/~mlehmann/Coro-5.372/Coro.pm">http://search.cpan.org/~mlehmann/Coro-5.372/Coro.pm</a> <br><pre class="sh_perl sh_sourceCode"><font size="4">  <span class="sh_keyword">use</span> Coro<span class="sh_symbol">;</span></font></pre>
.<br><br><div class="gmail_quote">2011/4/7 Serge <span dir="ltr"><<a href="mailto:simne@yandex.ua">simne@yandex.ua</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Подскажите (стандартные желательно) модули, позволяющие манипулировать со стеком параметров Перл.<br>
Я хочу сделать чтобы при вызовах некоторой функции-ядра, она могла возвращать управление не тому кто ее вызвал а какой-то другой функции.<br>
<br>
Например, есть функции sub1, sub2, sub3 и некоторое ядро. В начале работы ядро вызвало sub1; sub1 вызвала ядро на предмет сообщений, но ядру пока нечего ответить - ядро снимает со стека параметры от sub1 и снимает адрес возврата sub1 и вызывает sub2, итд.<br>

Получается что таким образом что sub1, sub2, sub3 находятся в некотором состоянии ожидания сообщения.<br>
<br>
Допустим, пришло сообщение для sub2 - ядро должно выложить на стек параметров какие-то возвращаемые sub2 значения и адрес возврата в sub2 и выполнить return.<br>
<br>
Я понимаю что это достаточно легко сделать написав на Си XS-расширение, но я хочу сделать чтобы код был максимально легко портируемым, без компиляции, лучше всего стандартным модулем.<br>
<br>
Спасибо.<br>
</blockquote></div><br><br clear="all"><br>-- <br>С уважением, Батыр Семен<br>_______________________________________<br>There are more possybilties to do this ...<br>