lace.make_observer.rid: Handle storage_Error locally.

This commit is contained in:
Rod Kay
2024-08-23 12:49:48 +10:00
parent 623da5803b
commit 29443925c5
2 changed files with 13 additions and 8 deletions

View File

@@ -18,6 +18,7 @@ is
end destroy;
------------
-- Responses
--
@@ -32,6 +33,7 @@ is
end add;
overriding
procedure rid (Self : access Item; the_Response : in Response.view;
to_Kind : in Event.Kind;
@@ -39,9 +41,14 @@ is
is
begin
Self.Responses.rid (Self, the_Response, to_Kind, from_Subject);
exception
when storage_Error =>
null; -- The observer is dead.
end rid;
overriding
procedure relay_responseless_Events (Self : in out Item; To : in Observer.view)
is
@@ -50,6 +57,7 @@ is
end relay_responseless_Events;
-------------
-- Operations
--

View File

@@ -42,6 +42,7 @@ is
end Name_of;
--------------
-- Connections
--
@@ -68,14 +69,9 @@ is
Subject_Name : in String)
is
begin
begin
the_Observer.rid (for_Response,
to_Event_Kind,
Subject_Name);
exception
when storage_Error =>
null; -- The observer is dead.
end;
the_Observer.rid (for_Response,
to_Event_Kind,
Subject_Name);
begin
from_Subject.deregister (the_Observer,
@@ -88,6 +84,7 @@ is
end disconnect;
----------
-- Logging
--