Summary: Threads + TcpSockets + Windows = FAIL (also,
                    core.thread is broken on Linux)
           Product: D
           Version: D2
          Platform: Other
        OS/Version: Windows
            Status: NEW
          Severity: major
          Priority: P2
         Component: DMD

--- Comment #0 from 2010-10-02 15:16:21 PDT ---
Created an attachment (id=779)
An example program.

If you create a thread from core.thread and a listening socket in the same
program, then once the thread exits, all attempts to accept() from the
listening socket will fail with the error message "Unable to accept socket
connection", and so will all attempts to create new TcpSockets.

An example program is provided. I believe it to be the simplest program that
exhibits this bug.

When compiled with -version=Works, then the created threads never exit, so the
failure condition is never reached.

When compiled with -version=Broken, the threads exit immediately, leading to
failure as soon as you connect to localhost:1234.

This bug is only present in the Windows version of DMD. When compiled on Linux,
the example program works properly with both version tags. (Mac OS X was not

Configure issuemail:
------- You are receiving this mail because: -------

Reply via email to