summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--psutil/_common.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/psutil/_common.py b/psutil/_common.py
index da8a96e5..90e76c6c 100644
--- a/psutil/_common.py
+++ b/psutil/_common.py
@@ -369,7 +369,12 @@ class TimeoutExpired(Error):
# This should be in _compat.py rather than here, but does not work well
# with setup.py importing this module via a sys.path trick.
if PY3:
- __builtins__["exec"]("""def raise_from(value, from_value):
+ if isinstance(__builtins__, dict): # cpython
+ exec_ = __builtins__["exec"]
+ else: # pypy
+ exec_ = getattr(__builtins__, "exec")
+
+ exec_("""def raise_from(value, from_value):
try:
raise value from from_value
finally: