1.7.5: Occasional failure of CreatePipe or signal handing due to thread-unsafe code in cwdstuff::set

Daniel Colascione dan.colascione@gmail.com
Wed Aug 11 11:05:00 GMT 2010

On 8/10/10 10:44 PM, Christopher Faylor wrote:
> On Tue, Aug 10, 2010 at 09:53:46PM +0000, John Carey wrote:
>> Thanks for the test case for the CreateFile() problem; I used it to
>> create the following test, in which Windows 7 CreateFile() fails with
>> ERROR_INVALID_HANDLE even when using a stock Cygwin 1.7.5 DLL:
> As Corinna said:  If you are mixing Windows calls with cygwin calls you
> are far into unsupported territory.  Cygwin isn't designed to let you
> seamlessly intermix things like pthreads/signals and the Windows API
> functions.

Then it seems the website needs to be updated. One of the major selling
points of Cygwin, as it were, is the ability to interact with the
Windows API world as well as the POSIX one: "Because processes run under
the standard Win32 subsystem, they can access both the UNIX
compatibility calls provided by Cygwin as well as any of the Win32 API
calls. This gives the programmer complete flexibility in designing the
structure of their program in terms of the APIs used. For example, they
could write a Win32-specific GUI using Win32 API calls on top of a UNIX
back-end that uses Cygwin."

I can understand requiring that users not deliberately create
inconsistencies between Cygwin data structures and those of Windows (and
I can understand throwing people who do that to the wolves), but
CreateFile is a fundamental system facility that should always work,
even in a Cygwin process.

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

More information about the Cygwin mailing list