11
11
import subprocess
12
12
import sys
13
13
import tempfile
14
+ import threading
14
15
import time
15
16
import unicodedata
16
17
from six .moves import range
@@ -532,12 +533,10 @@ def __enter__(self):
532
533
self .orig_sigwinch_handler = signal .getsignal (signal .SIGWINCH )
533
534
self .orig_sigtstp_handler = signal .getsignal (signal .SIGTSTP )
534
535
535
- try :
536
+ if isinstance (threading .current_thread (), threading ._MainThread ):
537
+ # This turns off resize detection and ctrl-z suspension.
536
538
signal .signal (signal .SIGWINCH , self .sigwinch_handler )
537
539
signal .signal (signal .SIGTSTP , self .sigtstp_handler )
538
- except ValueError :
539
- pass # Ignore "signal only works in main thread"
540
- # This turns off resize detection and ctrl-z suspension.
541
540
542
541
self .orig_meta_path = sys .meta_path
543
542
if self .watcher :
@@ -551,12 +550,10 @@ def __exit__(self, *args):
551
550
sys .stdout = self .orig_stdout
552
551
sys .stderr = self .orig_stderr
553
552
554
- try :
553
+ if isinstance (threading .current_thread (), threading ._MainThread ):
554
+ # This turns off resize detection and ctrl-z suspension.
555
555
signal .signal (signal .SIGWINCH , self .orig_sigwinch_handler )
556
556
signal .signal (signal .SIGTSTP , self .orig_sigtstp_handler )
557
- except ValueError :
558
- pass # Ignore "signal only works in main thread"
559
- # This turns off resize detection and ctrl-z suspension.
560
557
561
558
sys .meta_path = self .orig_meta_path
562
559
0 commit comments