Tcl Source Code

View Ticket
Login
Ticket UUID: 2417238
Title: Avoid double-open of serial ports on Windows
Type: Patch Version: None
Submitter: schroedter Created on: 2008-12-11 14:21:21
Subsystem: 27. Channel Types Assigned To: andreas_kupries
Priority: 8 Severity:
Status: Closed Last Modified: 2008-12-11 21:37:41
Resolution: Duplicate Closed By: ferrieux
    Closed on: 2008-12-11 14:37:41
Description:
This patch refers to ID: 2413550
--------------------------------------------

The following patch performes a "name hint" to detect native Windows serial port name by one of the following patterns (case-insensitive). Pattern matching is checked quite restrictive, because *all open-filenames* need to pass this test.

COM[1-9]:?
\\.\COM[0-9]+
//./COM[0-9]+

For all filenames not matching the patterns above, the original behavior open-close-reopen is preserved, thus supporting (virtual) comports of any other name:
1. Open channel with NON-OVERLAPPED flag
2. Detect serial port by checking GetCommState() result
3. Reopen the serial port with OVERLAPPED flag
This behavior can be enforced even for native Windows serial ports e.g. with 

[open /com1 r+]
User Comments: ferrieux added on 2008-12-11 21:37:40:
Oh please don't duplicate ! Please post this comment and patch to the initial entry...

schroedter added on 2008-12-11 21:21:21:

File Added - 304908: no_double_serial_open.patch

Attachments: