2

これは Ubuntu システムでは問題なく動作するコード スニペットですが、OS X で setraw を呼び出すと Python プロセスがハングします。

import os, sys, termios, tty

# Open pseudo terminal
m,s = os.openpty()
stdin = os.fdopen(s, 'r', 0)
stdout = os.fdopen(s, 'w', 0)

# Remember olt attrs for restoration later on
tcattr = termios.tcgetattr(stdin.fileno())

# Set pseudo terminal in raw mode
tty.setraw(stdin.fileno())

# Write something on the slave side of the pseudo terminal
stdout.write('test\n')

# Call setraw again. (for no reason) But it hangs here...
tty.setraw(stdin.fileno())

このコードに何か問題がありますか、それとも OS X の動作が異なりますか? 以前は機能していましたが、コードのわずかな変更により、OS X でブロックされるようになりました...

4

0 に答える 0