delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2004/02/23/11:47:07

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
To: cygwin AT cygwin DOT com
From: "Linux Dr." <usenet AT haughtmail DOT com>
Subject: Non-blocking keyboard I/O?
Date: Mon, 23 Feb 2004 16:44:45 +0000 (UTC)
Lines: 17
Message-ID: <loom.20040223T162304-686@post.gmane.org>
Mime-Version: 1.0
X-Complaints-To: usenet AT sea DOT gmane DOT org
X-Gmane-NNTP-Posting-Host: main.gmane.org
User-Agent: Loom/3.14 (http://gmane.org/)
X-Loom-IP: 134.253.26.6 (Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.0.1) Gecko/20020920 Netscape/7.0)

I have a non-blocking keyboard I/O routine I've used for years under IRIX,
Solaris and Red Hat linux.  It doesn't seem to work under cygwin, however.  The
core of it is:

   fcntl(0. F__SETFL, fcntl(0, F_GETFL) | O_NONBLOCK)
   tcgetattr(0, &termios_p);
   termios_p.c_lflag &= ~(ICANON | ECHO);
   termios_p.c_lflag &= ~(ICANON);
   termios_p.c_cc[VMIN] = 1;
   termios_p.c_cc[VTIME] = 0;
   tcsetattr(0, TCSANOW, &termios_p);

I subsituted FIONBIO for O_NONBLOCK and both complied and ran but both versions
still blocked.  

Is there something obvious I'm doing wrong?   Is there an alternative way to do
this under cygwin?  TIA!  Neall


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019