always base on io.RawIOBase
diff --git a/serial/serialposix.py b/serial/serialposix.py
index 249dae6..b71df8d 100644
--- a/serial/serialposix.py
+++ b/serial/serialposix.py
@@ -13,6 +13,7 @@
# references: http://www.easysw.com/~mike/serial/serial.html
import sys, os, fcntl, termios, struct, select, errno, time
+import io
from serial.serialutil import *
# Do check the Python version as some constants have moved.
@@ -273,7 +274,7 @@
CMSPAR = 0o10000000000 # Use "stick" (mark/space) parity
-class PosixSerial(SerialBase):
+class Serial(SerialBase, io.RawIOBase):
"""\
Serial port class POSIX implementation. Serial port configuration is
done with termios and fcntl. Runs on Linux and many other Un*x like
@@ -663,19 +664,6 @@
termios.tcflow(self.fd, TERMIOS.TCOOFF)
-# assemble Serial class with the platform specific implementation and the base
-# for file-like behavior. for Python 2.6 and newer, that provide the new I/O
-# library, derive from io.RawIOBase
-try:
- import io
-except ImportError:
- # classic version with our own file-like emulation
- class Serial(PosixSerial, FileLike):
- pass
-else:
- # io library present
- class Serial(PosixSerial, io.RawIOBase):
- pass
class PosixPollSerial(Serial):
"""\