[Mono-bugs] [Bug 635971] New: SerialPort.ReadTimeout should accept Zero
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Tue Aug 31 14:48:03 EDT 2010
https://bugzilla.novell.com/show_bug.cgi?id=635971
https://bugzilla.novell.com/show_bug.cgi?id=635971#c0
Summary: SerialPort.ReadTimeout should accept Zero
Classification: Mono
Product: Mono: Class Libraries
Version: 2.6.x
Platform: x86-64
OS/Version: All
Status: NEW
Severity: Normal
Priority: P5 - None
Component: System
AssignedTo: mono-bugs at lists.ximian.com
ReportedBy: e0600347 at student.tuwien.ac.at
QAContact: mono-bugs at lists.ximian.com
Found By: ---
Blocker: ---
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.8)
Gecko/20100724 Firefox/3.6.8
SerialPort.ReadTimeout should accept a value of zero. This is an
incompatibility between Mono and .Net.
MSDN
(http://msdn.microsoft.com/en-us/library/system.io.ports.serialport.readtimeout.aspx)
states that ArgumentOutOfRangeException is thrown when "The read time-out value
is less than zero and not equal to InfiniteTimeout.". Thus, zero is accepted.
When the test program is run on .Net, it is indeed accepted and no exception is
thrown.
Reproducible: Always
Steps to Reproduce:
using System;
using System.IO.Ports;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
SerialPort COMport = new SerialPort("/dev/rfcomm0", 115200,
Parity.None, 8, StopBits.One);
COMport.ReadTimeout = 0;
COMport.Open();
}
}
}
Actual Results:
Mono throws ArgumentOutOfRangeException when wirting the property with zero.
Expected Results:
No exception should be thrown. Instead, a timeout value of zero should mean "do
not wait for a timeout, return immediately if there is no character in the
receive buffer".
The MSDN documentation is ambigouos. It states at a later point that "The
time-out can be set to any value greater than zero, or set to InfiniteTimeout".
This implies that zero is not accepted. However, both the exception
documentation say that no exception is thrown on zero, and the .Net libraries
also accept zero as a property value.
This should be fixed to ensure compatibility with .Net. Also, correctly
implementing a value of zero as "do not wait for a timeout, but return
immediately if there is no character in the receive buffer", enhances
functionality and versatility of the library.
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the mono-bugs
mailing list