From ec2aedac71d19b48aa8da9813ccae8e82eef981c Mon Sep 17 00:00:00 2001 From: Jeff Forcier Date: Mon, 13 Feb 2012 12:47:59 -0800 Subject: [PATCH] Move fcntl import to avoid high level ImportErrors on Windows Fixes #5. --- CHANGES | 6 ++++++ ssh/agent.py | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index df8f1d3..8427e69 100644 --- a/CHANGES +++ b/CHANGES @@ -1,5 +1,11 @@ Temporary, post-Paramiko changelog while we get our sh!t together. +## ssh 1.7.13 (2012-MM-DD) + +* Moved a `fcntl` import closer to where it's used to help avoid `ImportError` + problems on Windows platforms. Thanks to Jason Coombs for the catch + + suggested fix. + ## ssh 1.7.12 (2012-02-10) * Added an IO loop sleep() call to avoid needless CPU usage when agent diff --git a/ssh/agent.py b/ssh/agent.py index 8cad6e9..abe3e45 100644 --- a/ssh/agent.py +++ b/ssh/agent.py @@ -28,7 +28,6 @@ import threading import time import tempfile import stat -import fcntl from select import select from ssh.ssh_exception import SSHException @@ -119,6 +118,7 @@ class AgentProxyThread(threading.Thread): raise def _communicate(self): + import fcntl oldflags = fcntl.fcntl(self.__inr, fcntl.F_GETFL) fcntl.fcntl(self.__inr, fcntl.F_SETFL, oldflags | os.O_NONBLOCK) while not self._exit: