diff options
author | Armin Novak <anovak@thinstuff.com> | 2013-08-16 10:34:54 +0200 |
---|---|---|
committer | Bernhard Miklautz <bmiklautz@thinstuff.at> | 2013-08-26 20:16:06 +0200 |
commit | c3923afa1f72cc8963b641472dd91bcaa99785bf (patch) | |
tree | 1947f37c6a0ec1d70a56b1c941086e352f0277a3 /channels | |
parent | d1e6221b25ae7581aade3323da6d9893b2e428b6 (diff) | |
download | freerdp-c3923afa1f72cc8963b641472dd91bcaa99785bf.tar.gz freerdp-c3923afa1f72cc8963b641472dd91bcaa99785bf.tar.bz2 freerdp-c3923afa1f72cc8963b641472dd91bcaa99785bf.zip |
Fixed initialization of serial device, now aborting pending
read / write operations.
Diffstat (limited to 'channels')
-rw-r--r-- | channels/serial/client/serial_main.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/channels/serial/client/serial_main.c b/channels/serial/client/serial_main.c index d2ff16a48..80a5435bf 100644 --- a/channels/serial/client/serial_main.c +++ b/channels/serial/client/serial_main.c @@ -113,6 +113,14 @@ static void serial_process_irp_create(SERIAL_DEVICE* serial, IRP* irp) else { serial->tty = tty; + + serial_abort_single_io(serial, serial->timeout_id, SERIAL_ABORT_IO_NONE, + STATUS_CANCELLED); + serial_abort_single_io(serial, serial->timeout_id, SERIAL_ABORT_IO_READ, + STATUS_CANCELLED); + serial_abort_single_io(serial, serial->timeout_id, SERIAL_ABORT_IO_WRITE, + STATUS_CANCELLED); + DEBUG_SVC("%s(%d) created.", serial->path, FileId); } @@ -332,7 +340,6 @@ static void* serial_thread_func(void* arg) if (WAIT_OBJECT_0 == status) break; - serial->nfds = 1; FD_ZERO(&serial->read_fds); FD_ZERO(&serial->write_fds); |