posix: timeout only applies to blocking I/O
see #227
diff --git a/serial/serialposix.py b/serial/serialposix.py
index 278ce47..dbc4c86 100644
--- a/serial/serialposix.py
+++ b/serial/serialposix.py
@@ -573,7 +573,7 @@
# see also http://www.python.org/dev/peps/pep-3151/#select
if e[0] not in (errno.EAGAIN, errno.EALREADY, errno.EWOULDBLOCK, errno.EINPROGRESS, errno.EINTR)):
raise SerialException('write failed: {}'.format(e))
- if timeout.expired():
+ if not timeout.is_non_blocking and timeout.expired():
raise writeTimeoutError
return length - len(d)