From 1882f3470b8d16b56fd958e6dbd9e6c8a0666946 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. (cherry picked from commit ec2aedac71d19b48aa8da9813ccae8e82eef981c) --- CHANGES | 6 ++++++ paramiko/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/paramiko/agent.py b/paramiko/agent.py index 306fc23..3772d51 100644 --- a/paramiko/agent.py +++ b/paramiko/agent.py @@ -28,7 +28,6 @@ import threading import time import tempfile import stat -import fcntl from select import select from paramiko.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: