Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin-developers AT sources DOT redhat DOT com Date: Fri, 15 Dec 2000 21:09:40 -0500 From: Christopher Faylor To: cygwin-developers AT cygwin DOT com Subject: Re: Serial blocking read Message-ID: <20001215210940.A12596@redhat.com> Reply-To: cygwin-developers AT cygwin DOT com Mail-Followup-To: cygwin-developers AT cygwin DOT com References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.3.11i In-Reply-To: ; from cobbler@stanford.edu on Fri, Dec 15, 2000 at 05:38:09PM -0800 I think this is coming from fhandler_serial.cc but I don't know for sure. Can you provide a unified diff? A complete unified diff will show the filename and give a little more context. The contributing link on http://cygwin.com should give you some pointers on how to do this and how to provide a patch. cgf On Fri, Dec 15, 2000 at 05:38:09PM -0800, Dan Morris wrote: >Has anyone else had problems with serial port reads blocking even when >O_NONBLOCK is passed to _read in the 1.1.6-1 DLL? > >I noticed that my reads were appropriately non-blocking most of the time, but >blocked whenever "overlapped_armed" was set, because in this case raw_read >never finds out how many bytes are in the serial port's buffer. This patch >seems to fix the problem for me : > >121a122,128 >> if (overlapped_armed) { >> if (!ClearCommError (get_handle (), &ev, &st)) >> goto err; >> else if (st.cbInQue) >> inq = st.cbInQue; >> } >> > >If anyone else has found a better solution to this problem, let me know... >otherwise perhaps this patch will fix things. > >-Dan > >Dan Morris >http://techhouse.brown.edu/dmorris > >Tiqit Computers >http://www.tiqit.com > -- cgf AT cygnus DOT com Red Hat, Inc. http://sources.redhat.com/ http://www.redhat.com/