[Twisted-Python] fcntl
Moshe Zadka
m at moshez.org
Sun Sep 23 06:54:39 MDT 2001
FCNTL exists in Python 2.2, but gives a DeprecationWarning. We should
all be greatful for this warning in advance of a backwards incompatibility
looming in the future.
Here is a patch to future-proof the code
I've checked it with 1.5.2 and 2.2a3
Please let me know of any objections
Index: twisted/internet/process.py
===================================================================
RCS file: /cvs/Twisted/twisted/internet/process.py,v
retrieving revision 1.6
diff -u -r1.6 process.py
--- twisted/internet/process.py 2001/08/18 09:31:01 1.6
+++ twisted/internet/process.py 2001/09/23 13:03:15
@@ -24,7 +24,10 @@
if os.name == 'posix':
# Inter-process communication and FCNTL fun isn't available on windows.
import fcntl
- import FCNTL
+ if (sys.hexversion >> 16) >= 0x202:
+ FCNTL = fcntl
+ else:
+ import FCNTL
from twisted.persisted import styles
from twisted.python import log, threadable
@@ -185,7 +188,7 @@
for fd in stdout_write, stderr_write, stdin_read:
os.close(fd)
for fd in (stdout_read, stderr_read):
- fcntl.fcntl(fd, FCNTL.F_SETFL, FCNTL.O_NONBLOCK)
+ fcntl.fcntl(fd, FCNTL.F_SETFL, os.O_NONBLOCK)
self.stdout = os.fdopen(stdout_read, 'r')
self.stderr = os.fdopen(stderr_read, 'r')
self.stdin = stdin_write
--
The Official Moshe Zadka FAQ: http://moshez.geek
The Official Moshe Zadka FAQ For Dummies: http://moshez.org
Read the FAQ
More information about the Twisted-Python
mailing list