Safe Asynchronous Exceptions for Python
نویسندگان
چکیده
We demonstrate that the Python programming language is not signal-safe, due to Python’s support for raising exceptions from signal handlers. We examine the approaches that various languages have used when dealing with the combination of asynchrony and exception handling, and propose a modification of the Python language that restores signal safety.
منابع مشابه
Asynchronous Exceptions in Concurrent Object-Oriented Programming
Exceptions in concurrent object-oriented languages with asynchronous call semantics may raise a serious problem in certain situations. Since separate calls are asynchronous it might happen that the context of the enclosing routine, from which the asynchronous call was launched, has been already left and hence any exception raised by the asynchronous call can not be handled anymore by the enclos...
متن کاملPrecise Exceptions in Asynchronous Processors
The presence of precise exceptions in a processor leads to complications in its design. Some recent processor architectures have sacrificed this requirement for performance reasons at the cost of software complexity. We present an implementation strategy for precise exceptions in asynchronous processors that does not block the instruction fetch when exceptions do not occur; the cost of the exce...
متن کاملAdvanced Concepts in Asynchronous Exception Handling
Asynchronous exception handling is a useful and sometimes necessary alternative form of communication among threads. This thesis examines and classifies general concepts related to asynchrony, asynchronous propagation control, and how asynchronous exception handling affects control flow. The work covers four advanced topics affecting asynchronous exception-handling in a multi-threaded environme...
متن کاملPractical Interruptible Conversations - Distributed Dynamic Verification with Session Types and Python
The rigorous and comprehensive verification of communication-based software is an important engineering challenge in distributed systems. Drawn from our industrial collaborations [32,35,26] on Scribble, a choreography description language based on multiparty session types, this paper proposes a dynamic verification framework for structured interruptible conversation programming. We first presen...
متن کاملUser-Centered Evolutionary Software Development Using Python and Java
The two language approach to software development has been investigated by several language designers. The primary hypothesis of such an approach being that both strong compile-time type checking and loose run-time type checking are desirable in evolutionary software development. Java is a strongly typed language which offers performance, robustness and modularity as such, while Python is a wea...
متن کامل