gall: no-op on duplicate watch-ack

fixes #2070
This commit is contained in:
Philip Monk 2019-12-10 00:21:03 -08:00
parent 853e33d88a
commit 3b41a8be15
No known key found for this signature in database
GPG Key ID: B66E1F02604E44EC
2 changed files with 11 additions and 2 deletions

View File

@ -1886,6 +1886,9 @@
(run-message-sink bone %hear lane shut-packet ok)
:: ignore .ok for |message-pump; just try again on error
::
:: Note this implies that vanes should never crash on %done,
:: since we have no way to continue using the flow if they do.
::
(run-message-pump bone %hear [message-num +.meat]:shut-packet)
:: +on-memo: handle request to send message
::

View File

@ -1233,13 +1233,19 @@
[agent-wire dock]
%+ ~(jab by outgoing.subscribers.current-agent) [agent-wire dock]
|= [acked=? =path]
~| [%already-acked agent-name wire dock path]
?< acked
=. .
?. acked
.
%- =/ =tape
"{<agent-name>}: received 2nd watch-ack on {<wire dock path>}"
(slog leaf+tape ~)
.
[& path]
::
=^ maybe-tang ap-core
%+ ap-ingest ~ |.
(on-agent:ap-agent-core agent-wire sign)
:: if failed %fact handling, kill subscription
::
=? ap-core ?=(%fact -.sign)
(ap-update-subscription =(~ maybe-tang) p.dock q.dock agent-wire)