This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Calling sem_wait() in DllMain( DLL_THREAD_DETACH) crashes


On 3/15/2011 4:28 PM, Christopher Faylor wrote:
> On Tue, Mar 15, 2011 at 04:01:35PM -0400, Charles Wilson wrote:
>> There are cases where cygwin-ish code does win32-ish things, like
>> login.exe, or the PyWin32 extensions for Python-on-Windows(and cygwin).
>> Maybe twisty uses PyWin32?
> 
> The python Twisted stuff works on UNIX systems so there should be no
> reason to use Windows-isms in Cygwin code - especially when the
> Windows-ism *calls* UNIX code.  The ability to get into trouble when you
> mix Windows stuff like DllMain with Cygwin stuff is very high.

Absolutely.

>> However, it does seem that python (or one of its extensions) is doing
>> something it shouldn't.
>>
>>From http://msdn.microsoft.com/en-us/library/ms682583%28v=vs.85%29.aspx
>>> ...
> 
> i.e., "you aren't supposed to be able to call anything you like here"
> 
> i.e., "you can't do that"

I was agreeing with you, already. :-)

Given that Jon mentioned other, similar reports, involving other
libraries/extensions for python...I wonder if there's something in the
core of python (e.g. "how to build an extension DLL: this glue code will
be included in the xDLL automatically by pyDist::Builder [or whatever],
defining a custom DllMain()...") that's doing something windows-ish,
when it ought to be doing it unix-ish on cygwin.

E.g. I wonder if this is bigger than just Twisted, or just
openssl+python/Lib/thread [1,2]  etc.

[1] http://cygwin.com/ml/cygwin/2008-11/msg00341.html
[2] http://www.mail-archive.com/openssl-dev@openssl.org/msg24599.html

--
Chuck


--
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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]