-#ifdef WIN32
- DWORD ret;
- if(ReadFile(handle, buf, size, &ret, 0)==0)
- throw SystemError("Reading from serial port failed", GetLastError());
-#else
- int ret = ::read(handle, buf, size);
- if(ret==-1)
- {
- if(errno==EAGAIN)
- return 0;
- else
- throw SystemError("Reading from serial port failed", errno);
- }
-#endif