0
我正在運行兩個python線程(import threading
)。他們兩人在open()
呼叫被阻止;實際上他們試圖打開命名管道來寫入命名管道,所以這是一種正常行爲,直到有人試圖從命名管道讀取爲止。在線程中傳播系統調用中斷
總之,它看起來像:
import threading
def f():
open('pipe2', 'r')
if __name__ == '__main__':
t = threading.Thread(target=f)
t.start()
open('pipe1', 'r')
當我鍵入一個^ C,在主線程的open()
被中斷(引發IOError
並且errno == 4)。
我的問題是:t
線程仍然在等待,我想傳播中斷行爲,以便使它也提升IOError
。
如果在子線程開始前設置守護=真會發生什麼? – 2012-04-11 08:59:55
沒有更多。而且,我的問題的目的不是要殺死線程,我希望他在收到信號後做一些事情(清理)。 – deathiop 2012-04-12 10:05:46