Bug 8285 - Constants in SerialPort.DiscardInBuffer and SerialPort.DiscardOutBuffer
Summary: Constants in SerialPort.DiscardInBuffer and SerialPort.DiscardOutBuffer
Alias: None
Product: Class Libraries
Classification: Mono
Component: System (show other bugs)
Version: unspecified
Hardware: PC Windows
: --- normal
Target Milestone: Untriaged
Assignee: Bugzilla
Depends on:
Reported: 2012-11-08 13:48 UTC by Alex
Modified: 2012-12-11 08:39 UTC (History)
2 users (show)

See Also:
Is this bug a regression?: ---
Last known good build:


Description Alex 2012-11-08 13:48:12 UTC

While experimenting with Mono on Windows I have run across an issue in SerialPort.DiscardInBuffer and SerialPort.DiscardOutBuffer methods. I checked the source code of WinSerialStream.cs (Mono 2.11.4) and found that both methods use costant value PurgeRxClear while DiscardOutBuffer should be using PurgeTxClear instead.

Apart from that PurgeRxClear and PurgeTxClear are defined wrongly as follows

const uint PurgeRxClear = 0x0004;
const uint PurgeTxClear = 0x0008;

while according to MSDN they should be

const uint PurgeRxClear = 0x0008;
const uint PurgeTxClear = 0x0004;

Please correct this issue in WinSerialStream.cs because now it is only possible to clear the Tx buffer of the serial port. Also interoperabilty with .NET is broken due to this issue.
Comment 1 Marek Safar 2012-11-11 10:54:56 UTC
Fixed in master

Note You need to log in before you can comment on or make changes to this bug.