mirror of
https://github.com/urbit/shrub.git
synced 2024-12-13 16:03:36 +03:00
improved %gall kill handling
This commit is contained in:
parent
c14d6b4d05
commit
0f7ce25b9e
@ -1,4 +1,4 @@
|
|||||||
:: :: %gall, user-level applications
|
!: :: %gall, user-level applications
|
||||||
!? 164
|
!? 164
|
||||||
::::
|
::::
|
||||||
|= pit=vase
|
|= pit=vase
|
||||||
@ -33,6 +33,7 @@
|
|||||||
== ::
|
== ::
|
||||||
++ knob :: pending action
|
++ knob :: pending action
|
||||||
$% [%boot ~] :: begin boot
|
$% [%boot ~] :: begin boot
|
||||||
|
[%cede ~] :: selficide
|
||||||
[%cide p=span] :: subprocessicide
|
[%cide p=span] :: subprocessicide
|
||||||
[%crud p=@tas q=(list tank)] :: error
|
[%crud p=@tas q=(list tank)] :: error
|
||||||
[%load p=cage] :: continue boot
|
[%load p=cage] :: continue boot
|
||||||
@ -468,6 +469,7 @@
|
|||||||
[[hun.mat 0 ~] ~ ~]
|
[[hun.mat 0 ~] ~ ~]
|
||||||
[[0 hun.mat] ~ ~]
|
[[0 hun.mat] ~ ~]
|
||||||
==
|
==
|
||||||
|
=. bum.mat (~(put by bum.mat) imp sat)
|
||||||
~(. go [our imp] mat sat)
|
~(. go [our imp] mat sat)
|
||||||
::
|
::
|
||||||
++ goad :: handle request
|
++ goad :: handle request
|
||||||
@ -487,10 +489,14 @@
|
|||||||
sat=seat :: per application
|
sat=seat :: per application
|
||||||
== ::
|
== ::
|
||||||
++ abet :: resolve
|
++ abet :: resolve
|
||||||
|
~& [%abet-qic imp ?=(~ qic.sat)]
|
||||||
%_ ..$
|
%_ ..$
|
||||||
all
|
all
|
||||||
%_ all
|
%_ all
|
||||||
pol %+ ~(put by pol.all) our
|
pol %+ ~(put by pol.all) our
|
||||||
|
?. (~(has by bum.mat) imp)
|
||||||
|
~& [%abet-gone imp]
|
||||||
|
mat
|
||||||
mat(bum (~(put by bum.mat) imp sat))
|
mat(bum (~(put by bum.mat) imp sat))
|
||||||
==
|
==
|
||||||
==
|
==
|
||||||
@ -640,6 +646,7 @@
|
|||||||
^- toil
|
^- toil
|
||||||
?> ?=([%pass p=* q=%g r=[p=%cide q=span]] q.caq)
|
?> ?=([%pass p=* q=%g r=[p=%cide q=span]] q.caq)
|
||||||
:: [[[%g wir] hon] r.q.caq]
|
:: [[[%g wir] hon] r.q.caq]
|
||||||
|
~& [%deff imp cub.sat]
|
||||||
[hon r.q.caq]
|
[hon r.q.caq]
|
||||||
::
|
::
|
||||||
++ drug :: set dependencies
|
++ drug :: set dependencies
|
||||||
@ -701,6 +708,16 @@
|
|||||||
^- silk
|
^- silk
|
||||||
[%boil %core [[our %main [%da now]] app.sat %app ~] ~]
|
[%boil %core [[our %main [%da now]] app.sat %app ~] ~]
|
||||||
::
|
::
|
||||||
|
++ leav
|
||||||
|
%_ .
|
||||||
|
bum.mat (~(del by bum.mat) imp)
|
||||||
|
qic.sat ~
|
||||||
|
vey.sat
|
||||||
|
%- ~(gas by vey.sat)
|
||||||
|
%+ turn (~(tap by cub.sat))
|
||||||
|
|=([a=span @] [hen %cide a])
|
||||||
|
==
|
||||||
|
::
|
||||||
++ mack :: apply standard
|
++ mack :: apply standard
|
||||||
|= sih=sign
|
|= sih=sign
|
||||||
?> ?=(%f -.sih)
|
?> ?=(%f -.sih)
|
||||||
@ -737,6 +754,15 @@
|
|||||||
| [~ (give %crud %made p.p.+.sih)]
|
| [~ (give %crud %made p.p.+.sih)]
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
|
++ muck :: apply part
|
||||||
|
|= sih=sign
|
||||||
|
^- [(unit (list tank)) _+>]
|
||||||
|
?> ?=(%f -.sih)
|
||||||
|
?- -.p.+.sih
|
||||||
|
& [~ (obey q.q.p.p.+.sih)]
|
||||||
|
| [`p.p.+.sih (give %crud %made p.p.+.sih)]
|
||||||
|
==
|
||||||
|
::
|
||||||
++ murk :: apply park
|
++ murk :: apply park
|
||||||
|= sih=sign
|
|= sih=sign
|
||||||
^- [(unit cage) _+>]
|
^- [(unit cage) _+>]
|
||||||
@ -764,7 +790,7 @@
|
|||||||
!=(~ qic.sat)
|
!=(~ qic.sat)
|
||||||
=(`[hen pax] onz.sat)
|
=(`[hen pax] onz.sat)
|
||||||
==
|
==
|
||||||
~& [%gall-mystery pax =(~ qic.sat) onz.sat]
|
~& [%gall-mystery imp pax =(~ qic.sat) onz.sat]
|
||||||
+>.$
|
+>.$
|
||||||
=: onz.sat ~
|
=: onz.sat ~
|
||||||
qic.sat ~
|
qic.sat ~
|
||||||
@ -776,6 +802,11 @@
|
|||||||
?~ gyd
|
?~ gyd
|
||||||
+>.$
|
+>.$
|
||||||
(quen %load u.gyd)
|
(quen %load u.gyd)
|
||||||
|
::
|
||||||
|
%part
|
||||||
|
=^ gud +>.$ (muck q.hin)
|
||||||
|
?^ gud +>.$
|
||||||
|
leav
|
||||||
::
|
::
|
||||||
%peek
|
%peek
|
||||||
?> ?=([@ *] t.t.pax)
|
?> ?=([@ *] t.t.pax)
|
||||||
@ -949,6 +980,7 @@
|
|||||||
::
|
::
|
||||||
++ work :: eat queue
|
++ work :: eat queue
|
||||||
|- ^+ +
|
|- ^+ +
|
||||||
|
~& [%work imp ?~(qic.sat ~ [~ -.q.u.qic.sat (turn (~(tap by vey.sat)) |=(toil -.q))])]
|
||||||
?: |(?=(^ qic.sat) =(~ vey.sat)) +.$ :: nothing to do
|
?: |(?=(^ qic.sat) =(~ vey.sat)) +.$ :: nothing to do
|
||||||
=^ yev vey.sat [p q]:~(get to vey.sat)
|
=^ yev vey.sat [p q]:~(get to vey.sat)
|
||||||
?: (~(has in nuc.sat) p.yev) $
|
?: (~(has in nuc.sat) p.yev) $
|
||||||
@ -963,7 +995,7 @@
|
|||||||
++ yawn :: start event
|
++ yawn :: start event
|
||||||
|= kon=knob
|
|= kon=knob
|
||||||
^+ +>
|
^+ +>
|
||||||
:: ~& [%gall-yawn ost -.kon]
|
:: ~& [%gall-yawn ost imp -.kon]
|
||||||
=. qic.sat `[hen kon]
|
=. qic.sat `[hen kon]
|
||||||
?- -.kon
|
?- -.kon
|
||||||
%boot
|
%boot
|
||||||
@ -977,12 +1009,39 @@
|
|||||||
?. (warm %park)
|
?. (warm %park)
|
||||||
[%done ~ %$ (slot 13 u.huv.sat)]
|
[%done ~ %$ (slot 13 u.huv.sat)]
|
||||||
(harm %park (conf (core u.huv.sat)))
|
(harm %park (conf (core u.huv.sat)))
|
||||||
|
::
|
||||||
|
%cede
|
||||||
|
~& [%cede imp (~(tap by cub.sat)) ?=(~ qic.sat)]
|
||||||
|
~& [%cede-bum (turn (~(tap by bum.mat)) |=([a=path *] a))]
|
||||||
|
?: (warm %part)
|
||||||
|
=+ sam=!>(ost)
|
||||||
|
?> ?=(^ huv.sat)
|
||||||
|
(yawl /part u.huv.sat sam)
|
||||||
|
leav
|
||||||
::
|
::
|
||||||
%cide
|
%cide
|
||||||
|
~& [%cide (~(tap by cub.sat))]
|
||||||
|
?~ p.kon
|
||||||
|
?~ imp +>.$(qic.sat ~)
|
||||||
|
?~ t.imp
|
||||||
|
$(kon [%cede ~])
|
||||||
|
=. qic.sat ~
|
||||||
|
=^ mew ..$.go
|
||||||
|
((goad($.go +:abet) hen ~) our t.imp [%cide i.imp])
|
||||||
|
=. mat (~(got by pol.all) our)
|
||||||
|
=. sat (~(got by bum.mat) imp)
|
||||||
|
%_ +>.$
|
||||||
|
mow (weld (flop mew) mow)
|
||||||
|
==
|
||||||
?. (~(has by bum.mat) [p.kon imp])
|
?. (~(has by bum.mat) [p.kon imp])
|
||||||
~& %cide-missed +>.$(qic.sat ~)
|
~& >> %cide-missed +>.$(qic.sat ~)
|
||||||
|
~& > [%cide-a (~(has by bum.mat) /babe/test)]
|
||||||
|
=^ mew ..$.go
|
||||||
|
((goad($.go +:abet) hen ~) our [p.kon imp] [%cede ~])
|
||||||
|
=. mat (~(got by pol.all) our)
|
||||||
|
~& > [%cide-b (~(has by bum.mat) /babe/test)]
|
||||||
%_ +>.$
|
%_ +>.$
|
||||||
bum.mat (~(del by bum.mat) [p.kon imp])
|
mow (weld (flop mew) mow)
|
||||||
cub.sat (~(del by cub.sat) p.kon)
|
cub.sat (~(del by cub.sat) p.kon)
|
||||||
qic.sat ~
|
qic.sat ~
|
||||||
==
|
==
|
||||||
@ -1034,8 +1093,9 @@
|
|||||||
(give(qic.sat ~) %dumb ~)
|
(give(qic.sat ~) %dumb ~)
|
||||||
::
|
::
|
||||||
%sire
|
%sire
|
||||||
|
:: ~& [%sire-found (~(put by cub.sat) q.kon p.kon)]
|
||||||
?: (~(has by bum.mat) [q.kon imp])
|
?: (~(has by bum.mat) [q.kon imp])
|
||||||
~& %sire-redundant +>.$(qic.sat ~)
|
~& >> %sire-redundant +>.$(qic.sat ~)
|
||||||
%_ +>.$
|
%_ +>.$
|
||||||
cub.sat (~(put by cub.sat) q.kon p.kon)
|
cub.sat (~(put by cub.sat) q.kon p.kon)
|
||||||
qic.sat ~
|
qic.sat ~
|
||||||
|
@ -70,6 +70,43 @@
|
|||||||
^- [(list move) _+>]
|
^- [(list move) _+>]
|
||||||
!!
|
!!
|
||||||
--
|
--
|
||||||
|
++ cede
|
||||||
|
^- test
|
||||||
|
=> |%
|
||||||
|
++ sign
|
||||||
|
$% $: %g
|
||||||
|
$% [%nice ~]
|
||||||
|
== == ==
|
||||||
|
--
|
||||||
|
=| cnt=?
|
||||||
|
|%
|
||||||
|
++ poke
|
||||||
|
|+ [ost=bone you=ship]
|
||||||
|
^- [(list move) _+>]
|
||||||
|
~& [%cide-poke cub.hid sup.hid our.hid]
|
||||||
|
:_ +>.$(cnt !cnt)
|
||||||
|
?: cnt
|
||||||
|
:~
|
||||||
|
[ost %pass /cede/sire %g %sire %cede %babe]
|
||||||
|
:* ost %pass /cede/poke %g
|
||||||
|
%mess [our.hid babe/imp.hid] you
|
||||||
|
%json !>(~)
|
||||||
|
==
|
||||||
|
:* ost %pass /cede/ours %g
|
||||||
|
%mess [our.hid imp.hid] you
|
||||||
|
%json !>((joba %test %s %cede))
|
||||||
|
==
|
||||||
|
==
|
||||||
|
[ost %give %nice ~]~
|
||||||
|
++ pour
|
||||||
|
|+ [ost=bone pax=path sih=*]
|
||||||
|
^- [(list move) _+>]
|
||||||
|
?. ?=(sign sih) `+>
|
||||||
|
~& [%cede-pour pax]
|
||||||
|
?. ?=([%ours ~] pax) `+>
|
||||||
|
:_ +>.$ :_ ~
|
||||||
|
[ost %give +.sih]
|
||||||
|
--
|
||||||
++ cide
|
++ cide
|
||||||
^- test
|
^- test
|
||||||
=> |%
|
=> |%
|
||||||
@ -117,7 +154,6 @@
|
|||||||
|+ [ost=bone pax=path sih=*]
|
|+ [ost=bone pax=path sih=*]
|
||||||
^- [(list move) _+>]
|
^- [(list move) _+>]
|
||||||
=+ sih=((hard sign) sih)
|
=+ sih=((hard sign) sih)
|
||||||
~& [%sire-pour pax sih]
|
|
||||||
:_ +>.$
|
:_ +>.$
|
||||||
[ost %give %nice ~]~
|
[ost %give %nice ~]~
|
||||||
--
|
--
|
||||||
@ -250,6 +286,7 @@
|
|||||||
:~ [%succeed succeed]
|
:~ [%succeed succeed]
|
||||||
[%sire sire]
|
[%sire sire]
|
||||||
[%cide cide]
|
[%cide cide]
|
||||||
|
[%cede cede]
|
||||||
[%ze ze]
|
[%ze ze]
|
||||||
[%poke-local poke-local]
|
[%poke-local poke-local]
|
||||||
==
|
==
|
||||||
@ -275,7 +312,7 @@
|
|||||||
?~ tes [[ost %give %mean ~ %strange-json ~]~ +>.$]
|
?~ tes [[ost %give %mean ~ %strange-json ~]~ +>.$]
|
||||||
=+ tst=(~(get by tests) +.u.tes)
|
=+ tst=(~(get by tests) +.u.tes)
|
||||||
?~ tst
|
?~ tst
|
||||||
[[ost %give %mean ~ %bad-test ~]~ +>.$]
|
[[ost %give %mean ~ %bad-test leaf/<+.u.tes> ~]~ +>.$]
|
||||||
~& [%running-test +.u.tes]
|
~& [%running-test +.u.tes]
|
||||||
=+ res=(poke:u.tst ost you)
|
=+ res=(poke:u.tst ost you)
|
||||||
:- -.res
|
:- -.res
|
||||||
|
Loading…
Reference in New Issue
Block a user