новости сообщество форум вики
Erlang по-русски. Форум » Erlang »

unlink

(4 posts)

  1. abracadabra
    Участник

    курю мануал про ф-ию анлинк, вот пример из сайта erlang.org
    unlink(Id),
    receive
    {'EXIT', Id, _} ->
    true
    after 0 ->
    true
    end
    скажите может ли быть такое, что перед анлинк отвалился процесс, но месага 'EXIT' придет после отработки кода receive ... end?

    Отправлено 1 год назад #
  2. Думаю, что заботиться о моменте прихода соощения 'EXIT' до микросекунд не надо. В подобных вопросах луч?е доверять реализации Эрланга. Если в доке пи?ут о гарантированном разрыве связи между процессами на момент возвращения результата unlink/1, значит так оно и есть. ? оставался только риск, что до возвращения unlink в очереди находилось или появилось сообщение 'EXIT'.

    Сообщение 'EXIT' формируется из сигнала если установлен флаг trap_exit.
    Логично если сделано так: сигнал проходит между процессами как бы в единый момент времени, с задержкой 0 мс. Он может возникнуть либо до возвращения результата unlink, либо после возвращения. В случае "до" сигнал преобразуется в сообщение 'EXIT' и помещается в очередь. ?менно эта ситуация обрабатывается receive в примере вы?е. Если trap_exit не стоял, то линкующий процесс прекратит свое существование немедленно по исключению, так и не выполнив unlink.

    ?спользование здесь "момента возвращения результата" законно, т.к. в документации пи?ут о гарантии.

    Отправлено 1 год назад #
  3. abracadabra
    Участник

    а если два процесса на разных узлах и скорость по сети Очень медленная. тогда должна быть некая синхронизация по типу отправил-получил-уведомил. но ничего подобного я в мануле не на?ел. Как обстоит дело с erlang-questions@erlang.org - они охотно отвечают и отвечают ли вообще? Если я к ним обращусь с этим вопросом?

    Отправлено 1 год назад #
  4. Можно попробовать.
    Было бы интересно узнать, что они ответят.

    Отправлено 1 год назад #

RSS экспорт этой темы

Отправить сообщение

Вы должны войти в систему, чтобы оставлять сообщения.

 
 

так же

Популярные тэги



Currently online

No Members around.

сообщество

http://groups.google.com/group/erlang-russian/feed/rss_v2_0_msgs.xml