RETURN_OK();
#else
struct timeout timeout;
+ int poll_timeout;
int result;
struct pollfd *pollfds;
unsigned int i;
break;
}
- result = poll(pollfds, event_set->count, timeout_remaining_ms(&timeout) || -1);
+ poll_timeout = (int) timeout_remaining_ms(&timeout);
+ if (poll_timeout == 0)
+ poll_timeout = -1;
+
+ result = poll(pollfds, event_set->count, poll_timeout);
timeout_update(&timeout);
config->bits = data->dcb.ByteSize;
- if (data->dcb.fParity)
- switch (data->dcb.Parity) {
- case NOPARITY:
- config->parity = SP_PARITY_NONE;
- break;
- case ODDPARITY:
- config->parity = SP_PARITY_ODD;
- break;
- case EVENPARITY:
- config->parity = SP_PARITY_EVEN;
- break;
- case MARKPARITY:
- config->parity = SP_PARITY_MARK;
- break;
- case SPACEPARITY:
- config->parity = SP_PARITY_SPACE;
- break;
- default:
- config->parity = -1;
- }
- else
+ switch (data->dcb.Parity) {
+ case NOPARITY:
config->parity = SP_PARITY_NONE;
+ break;
+ case ODDPARITY:
+ config->parity = SP_PARITY_ODD;
+ break;
+ case EVENPARITY:
+ config->parity = SP_PARITY_EVEN;
+ break;
+ case MARKPARITY:
+ config->parity = SP_PARITY_MARK;
+ break;
+ case SPACEPARITY:
+ config->parity = SP_PARITY_SPACE;
+ break;
+ default:
+ config->parity = -1;
+ }
switch (data->dcb.StopBits) {
case ONESTOPBIT: