Tasks #1037

Implement error handling subsystem

Added by J. Moringen almost 12 years ago. Updated over 11 years ago.

Status:ResolvedStart date:06/25/2012
Priority:NormalDue date:
Assignee:J. Moringen% Done:

100%

Category:Common Lisp
Target version:rsb-0.7

Description

According to ErrorHandling.


Related issues

Related to RSBag - Enhancement #1022: bag-record should terminate with non-zero exit code when ... Resolved 06/23/2012

Associated revisions

Revision b5230073
Added by J. Moringen over 11 years ago

Prevent recursive timeouts in src/**/*.lisp
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

Revision bb50a470
Added by J. Moringen over 11 years ago

Fixed args of continue restarts in src/transport/restart-mixins.lisp
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

Revision d68fd888
Added by J. Moringen over 11 years ago

Added on-error commandline option in common.rst
refs #1037
  • common.rst: added description of on-error commandline option

Revision 03bcfd61
Added by J. Moringen over 11 years ago

Added conditions for closed connections in 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

Revision e41dc8d3
Added by J. Moringen over 11 years ago

Basic toplevel error handling in common/error-handling.lisp
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

Revision 326bcc3f
Added by J. Moringen over 11 years ago

Use error handling facilities in {logger,call,send}/main.lisp
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

Revision aebe0975
Added by J. Moringen over 11 years ago

Backport: Added conditions for closed connections in 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

Revision 5a34a031
Added by J. Moringen over 11 years ago

Added conditions for closed connections in
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

Revision 363d99f9
Added by J. Moringen over 11 years ago

Backport: Added conditions for closed connections in 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

Revision 3e6cc392
Added by J. Moringen over 11 years ago

Backport: Basic toplevel error handling in common/error-handling.lisp
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

Revision 64e04a25
Added by J. Moringen over 11 years ago

Backport: Use error handling facilities in {logger,call,send}/main.lisp
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

Also available in: Atom PDF