Merge pull request #5216 from urbit/lf/kiln-gall-fix-dead

kiln, gall: Fix removing agents from desk
This commit is contained in:
Ted Blackman 2021-09-13 12:47:10 +03:00 committed by GitHub
commit e34048a6c9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 32 additions and 3 deletions

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:b8972fd91602b0d2cca76ade229d11aaaca0bc3c89da53c42f4f12895190b4b2 oid sha256:f24c64caed01a0cd6cfc7c82cc540ad1da0c2fd8f4e5e858bae59407e2a90c75
size 13762742 size 13881546

View File

@ -623,6 +623,12 @@
~> %slog.0^leaf/"kiln: finished downloading update for {here}" ~> %slog.0^leaf/"kiln: finished downloading update for {here}"
=/ old-weft `weft`[%zuse zuse] =/ old-weft `weft`[%zuse zuse]
=/ new-weft (read-kelvin-foreign [ship desk aeon]:rail.rak) =/ new-weft (read-kelvin-foreign [ship desk aeon]:rail.rak)
=? vats liv.rein.rak
=/ bill (read-bill-foreign [ship desk aeon]:rail.rak)
=/ wan (sy (get-apps-want bill rein.rak))
=/ hav (sy (get-apps-live our loc now))
=/ ded ~(tap in (~(dif in hav) wan))
(stop-dudes ded)
=. aeon.rail.rak +(aeon.rail.rak) =. aeon.rail.rak +(aeon.rail.rak)
|^ ^+ vats |^ ^+ vats
?: =(%base loc) ?: =(%base loc)

View File

@ -580,7 +580,10 @@
=/ yok=(unit yoke) (~(get by yokes.state) dap) =/ yok=(unit yoke) (~(get by yokes.state) dap)
?~ yok ?~ yok
~> %slog.[0 leaf+"gall: no agent to reload: {<dap>}"] ~> %slog.[0 leaf+"gall: no agent to reload: {<dap>}"]
mo-core cor
?: ?=(%| -.agent)
~> %slog.[0 leaf+"gall: dead agent reload: {<dap>}"]
cor
=/ bek=beak [our q.beak.u.yok p.sign-arvo] =/ bek=beak [our q.beak.u.yok p.sign-arvo]
=/ rag (mo-scry-agent-cage dap q.bek p.sign-arvo) =/ rag (mo-scry-agent-cage dap q.bek p.sign-arvo)
?: ?=(%| -.rag) ?: ?=(%| -.rag)

View File

@ -112,6 +112,26 @@
?~ =<(fil .^(arch cy/pax)) ?~ =<(fil .^(arch cy/pax))
~ ~
[~ .^(weft cx/pax)] [~ .^(weft cx/pax)]
:: +read-bill-foreign: read /desk/bill from a foreign desk
::
++ read-bill-foreign
|= [=ship =desk =aeon]
^- bill
=/ her (scot %p ship)
=/ syd (scot %tas desk)
=/ yon (scot %ud aeon)
::
=/ dom .^(dome cv/~[her syd yon])
=/ tak (scot %uv (~(got by hit.dom) let.dom))
=/ yak .^(yaki cs/~[her syd yon %yaki tak])
=/ lob (scot %uv (~(got by q.yak) /desk/bill))
=/ bob .^(blob cs/~[her syd yon %blob lob])
::
;; bill
?- -.bob
%direct q.q.bob
%delta q.r.bob
==
:: +read-bill: read contents of /desk/bill manifest :: +read-bill: read contents of /desk/bill manifest
:: ::
++ read-bill ++ read-bill