Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com
From: <mgix@mgix.com>
To: <cygwin@cygwin.com>
Subject: dlopen : loads dll twice and freezes cygwin on exit
Date: Tue, 22 Apr 2003 13:38:55 -0700
Message-ID: <AMEKICHCJFIFEDIBLGOBIEJECDAA.mgix@mgix.com>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
Importance: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id h3MKd6627536



I would like to report what I suspect is a bug in Cygwin.

Symptoms:
		. A DLL loaded with dlopen gets loaded twice

		. Cygwin freezes when exit() is called.

This occurs in the following specific conditions:

		1. All code is C++

		2. Main app is linked with a dll

		3. Said dll has a static C++ object whose constructor
               loads yet another dll with dlopen.

		4. dynloaded DLL also has a static C++ object whose
		   constructor does a printf

First, when the app launches, you notice that the printf statement
in the constructor of the static C++ object in the dynloaded DLL is
triggered twice.

Second, when the app calls exit, it freezes.

I have made a small tarball isolating the bug. It can be downloaded
from here: http://www.mgix.com/cygfreeze.tar.gz


I looked at the FAQ and the mailing list archive, but couldn't find
a reference to this problem. Is this a known issue ?

Cheers,

	- Mgix



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

