Tasks #1037
Implement error handling subsystem
Status: | Resolved | Start date: | 06/25/2012 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assignee: | J. Moringen | % Done: | 100% | |
Category: | Common Lisp | |||
Target version: | rsb-0.7 |
Related issues
Associated revisions
Prevent recursive timeouts in src/**/*.lisp
refs #1037
refs #1037
- src/error-handling.lisp: new file; contains error handling code
- src/package.lisp (package rsb): added exported symbols
invoke-with-restart-and-timeout and with-restart-and-timeout - src/event-processing/configurator.lisp (detach): use
`with-restart-and-timeout' - src/patterns/server.lisp (%remove-method-with-restart-and-timeout):
likewise - cl-rsb.asd (system cl-rsb): added file src/error-handling.lisp
Fixed args of continue restarts in src/transport/restart-mixins.lisp
refs #1037
refs #1037
- src/transport/restart-mixins.lisp
(send-notification :around restart-notification-sender-mixin t):
continue restarts accepts optional condition argument
(event->notification :around restart-notification-sender-mixin t):
likewise
(receive-message :around restart message-receiver-mixin t): likewise
(message->event :around restart-message-receiver-mixin t t):
likewise
Added on-error commandline option in common.rst
refs #1037
refs #1037
- common.rst: added description of on-error commandline option
Added conditions for closed connections in src/transport/conditions.lisp
refs #1037
refs #1037
- src/transport/conditions.lisp (connection-closed): new condition
class; signaled when a connection is closed
(connection-unexpectedly-closed): new condition; signaled when a
connection is closed unexpectedly - src/transport/package.lisp (package rsb.transport): added exported
symbols connection-closed, connection-closed-connection and
connection-unexpectedly-closed - src/transport/restart-mixins.lisp
(send-notification :around restart-notification-sender-mixin t):
restarts are not applicable when the connection has been closed
(receive-message :around restart-message-receiver-mixin t): likewise - src/transport/spread/connection.lisp (receive-message connection t):
translate spread error which indicate a closed connection to
`connection-unexpectedly-closed'
(send-message connection t): likewise
Basic toplevel error handling in common/error-handling.lisp
refs #1037
refs #1037
- common/error-handling.lisp: new file; contains some functions and
macros for toplevel error handling - common/options.lisp (make-error-handling-options): new function;
make error-handling-related commandline options
(process-error-handling-options): new function; process
error-handling-related commandline options - common/package.lisp (package rsb.common): added exported symbols
abort/signal, continue/verbose, maybe-relay-to-thread,
invoke-with-error-policy, with-error-policy,
make-error-handling-options and process-error-handling-options - cl-rsb-common.asd (system cl-rsb-common): added file
common/error-handling.lisp; added dependency of common/options.lisp
on common/error-handling.lisp
Use error handling facilities in {logger,call,send}/main.lisp
refs #1037
refs #1037
- call/main.lisp (update-synopsis): added error-handling commandline
options via `make-error-handling-options'
(main): retrieve error policy via `process-error-handling-options',
employ it globally via `with-error-policy' and install it in the
participant - logger/main.lisp: similar; establish continue restart around event
formatting - send/main.lisp: similar
Backport: Added conditions for closed connections in src/transport/conditions.lisp
refs #1037
refs #1037
- src/transport/conditions.lisp (connection-closed): new condition
class; signaled when a connection is closed
(connection-unexpectedly-closed): new condition; signaled when a
connection is closed unexpectedly - src/transport/package.lisp (package rsb.transport): added exported
symbols connection-closed, connection-closed-connection and
connection-unexpectedly-closed - src/transport/restart-mixins.lisp
(send-notification :around restart-notification-sender-mixin t):
restarts are not applicable when the connection has been closed
(receive-message :around restart-message-receiver-mixin t): likewise - src/transport/spread/connection.lisp (receive-message connection t):
translate spread error which indicate a closed connection to
`connection-unexpectedly-closed'
(send-message connection t): likewise
Added conditions for closed connections in
src/transport/conditions.lisp
refs #1037
src/transport/conditions.lisp
refs #1037
- src/transport/conditions.lisp (connection-closed): new condition
class; signaled when a connection is closed
(connection-unexpectedly-closed): new condition; signaled when a
connection is closed unexpectedly - src/transport/package.lisp (package rsb.transport): added exported
symbols connection-closed, connection-closed-connection and
connection-unexpectedly-closed - src/transport/restart-mixins.lisp
(send-notification :around restart-notification-sender-mixin t):
restarts are not applicable when the connection has been closed
(receive-message :around restart-message-receiver-mixin t): likewise - src/transport/spread/connection.lisp (receive-message connection t):
translate spread error which indicate a closed connection to
`connection-unexpectedly-closed'
(send-message connection t): likewise
Backport: Added conditions for closed connections in src/transport/conditions.lisp
refs #1037
refs #1037
- src/transport/conditions.lisp (connection-closed): new condition
class; signaled when a connection is closed
(connection-unexpectedly-closed): new condition; signaled when a
connection is closed unexpectedly - src/transport/package.lisp (package rsb.transport): added exported
symbols connection-closed, connection-closed-connection and
connection-unexpectedly-closed - src/transport/restart-mixins.lisp
(send-notification :around restart-notification-sender-mixin t):
restarts are not applicable when the connection has been closed
(receive-message :around restart-message-receiver-mixin t): likewise - src/transport/spread/connection.lisp (receive-message connection t):
translate spread error which indicate a closed connection to
`connection-unexpectedly-closed'
(send-message connection t): likewise
Backport: Basic toplevel error handling in common/error-handling.lisp
refs #1037
refs #1037
- common/error-handling.lisp: new file; contains some functions and
macros for toplevel error handling - common/options.lisp (make-error-handling-options): new function;
make error-handling-related commandline options
(process-error-handling-options): new function; process
error-handling-related commandline options - common/package.lisp (package rsb.common): added exported symbols
abort/signal, continue/verbose, maybe-relay-to-thread,
invoke-with-error-policy, with-error-policy,
make-error-handling-options and process-error-handling-options - cl-rsb-common.asd (system cl-rsb-common): added file
common/error-handling.lisp; added dependency of common/options.lisp
on common/error-handling.lisp
Backport: Use error handling facilities in {logger,call,send}/main.lisp
refs #1037
refs #1037
- call/main.lisp (update-synopsis): added error-handling commandline
options via `make-error-handling-options'
(main): retrieve error policy via `process-error-handling-options',
employ it globally via `with-error-policy' and install it in the
participant - logger/main.lisp: similar; establish continue restart around event
formatting - send/main.lisp: similar
History
#1 Updated by J. Moringen over 11 years ago
- Status changed from In Progress to Resolved
- % Done changed from 80 to 100