X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-2.1 required=5.0 tests=AWL,BAYES_00,TW_CG X-Spam-Check-By: sourceware.org Message-ID: <4E513BF4.90308@hones.org.uk> Date: Sun, 21 Aug 2011 18:10:12 +0100 From: Cliff Hones User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:6.0) Gecko/20110812 Thunderbird/6.0 MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: 1.7.9: static const std::string initialization lost in child process when using fork, dlopen References: <1558100995 DOT 357508 DOT 1313927301638 DOT JavaMail DOT fmail AT mwmweb008> <20110821165001 DOT GA19565 AT ednor DOT casa DOT cgf DOT cx> In-Reply-To: <20110821165001.GA19565@ednor.casa.cgf.cx> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) (knockando.watchfront.net.uk) X-Spam-Report: knockando.watchfront.net.uk has scanned this email for spam. Results:- none (total 0.0, current threshold 5.0) X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com On 21/08/2011 17:50, Christopher Faylor wrote: > On Sun, Aug 21, 2011 at 01:48:21PM +0200, whans AT web DOT de wrote: >> Hello, >> ?? >> it seems that a child process does not see the initialization of a >> static const std::string variable if it is defined in a dll. Instead this corrupt variable >> lead to a STATUS_ACCESS_VIOLATION. >> ?? >> The following 4 example files demonstrate this behaviour: > > Am I the only person who sees lots of strange characters in the examples > below where, presumably there is supposed to be whitespace? > > cgf > >> 1) dllif.h: ?? ?? ??(define the dll's interface) >> #include >> class cTestIf { >> public: >> ?? virtual std::string get() = 0; >> }; >> ?? >> ?? > > ... Well, I'm afraid my mind-reading skills aren't good enough to answer that, but my mail client doesn't show them (TB under Windows). However, it didn't take long to find out that they are UTF-8 C2 A0 sequences, which is the code for a non-breaking white space. The mime header does have "Content-Type: text/plain; charset="UTF-8"", so it looks like your email client may be to blame. -- Cliff -- 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