sessions were being replaced without being stopped. Fixes #406

This commit is contained in:
Anton Dyudin 2015-09-18 15:10:18 -07:00
parent fc9c0181ff
commit 28370ba193

View File

@ -100,7 +100,7 @@
house :: program state house :: program state
== :: == ::
++ he :: per session ++ he :: per session
|_ [[ost=bone moz=(list move)] session] :: |_ [moz=(list move) session] ::
++ dp :: dojo parser ++ dp :: dojo parser
|% |%
++ dp-default-app %hood ++ dp-default-app %hood
@ -670,7 +670,11 @@
== ==
:: ::
++ he-abet :: resolve ++ he-abet :: resolve
[(flop moz) %_(+> hoc (~(put by hoc) ost +<+))] [(flop moz) %_(+> hoc (~(put by hoc) ost.hid +<+))]
::
++ he-abut :: discard
=> he-stop
[(flop moz) %_(+> hoc (~(del by hoc) ost.hid))]
:: ::
++ he-beak -:he-beam ++ he-beak -:he-beam
++ he-beam :: logical beam ++ he-beam :: logical beam
@ -681,7 +685,7 @@
++ he-card :: emit gift ++ he-card :: emit gift
|= cad=card |= cad=card
^+ +> ^+ +>
%_(+> moz [[ost cad] moz]) %_(+> moz [[ost.hid cad] moz])
:: ::
++ he-send ++ he-send
|= [way=wire him=ship dap=term cop=clap] |= [way=wire him=ship dap=term cop=clap]
@ -844,10 +848,10 @@
== ==
:: ::
:: pattern: ++ foo |=(data he-abet:(~(he-foo he (~(got by hoc) ost)) data)) :: pattern: ++ foo |=(data he-abet:(~(he-foo he (~(got by hoc) ost)) data))
++ arm (arm-session (~(got by hoc) ost.hid)) ++ arm (arm-session ~ (~(got by hoc) ost.hid))
++ arm-session ++ arm-session
|= ses=session |= [moz=(list move) ses=session]
=> ~(. he [ost.hid ~] ses) => ~(. he moz ses)
=- [wrap=- +] =- [wrap=- +]
|* he-arm=_he-type |* he-arm=_he-type
|= _+<.he-arm ^- (quip move ..he) |= _+<.he-arm ^- (quip move ..he)
@ -856,9 +860,12 @@
++ peer-sole ++ peer-sole
~? !=(src.hid our.hid) [%dojo-peer-stranger ost.hid src.hid] ~? !=(src.hid our.hid) [%dojo-peer-stranger ost.hid src.hid]
:: ?> =(src.hid our.hid) :: ?> =(src.hid our.hid)
~? (~(has by hoc) ost.hid) [%dojo-peer-replaced ost.hid] =^ moz .
?. (~(has by hoc) ost.hid) [~ .]
~& [%dojo-peer-replaced ost.hid]
~(he-abut he ~ (~(got by hoc) ost.hid))
=+ ses=%*(. *session -.dir [our.hid %home ud/0]) =+ ses=%*(. *session -.dir [our.hid %home ud/0])
(wrap he-peer):(arm-session ses) (wrap he-peer):(arm-session moz ses)
:: ::
++ poke-sole-action ++ poke-sole-action
|= act=sole-action ~| poke/act %. act |= act=sole-action ~| poke/act %. act
@ -872,7 +879,6 @@
++ pull ++ pull
|= [pax=path] |= [pax=path]
^- (quip move +>) ^- (quip move +>)
=^ moz +> =^ moz +> ~(he-abut he ~ (~(got by hoc) ost.hid))
he-abet:~(he-stop he [[ost.hid ~] (~(got by hoc) ost.hid)])
[moz +>.$(hoc (~(del by hoc) ost.hid))] [moz +>.$(hoc (~(del by hoc) ost.hid))]
-- --