[Mono-bugs] [Bug 312172] [2.0] BeginRead on console input blocks program exit

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Mon Apr 20 08:23:32 EDT 2009


User bhenderson at ipswitch.com added comment

Ben Henderson <bhenderson at ipswitch.com> changed:

           What    |Removed                     |Added
                 CC|                            |bhenderson at ipswitch.com
            Version|unspecified                 |2.4.x

--- Comment #2 from Ben Henderson <bhenderson at ipswitch.com>  2009-04-20 06:23:31 MDT ---
I have also run into this bug...  Running Mono 2.4 in verbose mode, the call
stack seems to indicate that BeginRead is calling Read.  Would be a nice to
have. ;)

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Threading;

namespace async_stdin
    class Program
        protected Stream inputStream;
        protected volatile bool exitProcess = false;

        public void Test()
            inputStream = Console.OpenStandardInput();
            if (inputStream != null)
                inputStream.BeginRead(new byte[1], 0, 1, new
AsyncCallback(KeyboardInputCallback), null);
                Console.WriteLine("Press a key to exit...");
                while (! exitProcess)
                Console.WriteLine("Shutting down...");

        protected void KeyboardInputCallback(IAsyncResult asyncResult)
            Console.WriteLine("User pressed a key... time to exit");
            exitProcess = true;

        static void Main(string[] args)
            Program prg = new Program();

Configure bugmail: http://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