Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm 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 Date: Wed, 7 Apr 2004 21:46:43 +0200 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: reentrant functions Message-ID: <20040407194643.GM26558@cygbert.vinschen.de> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <20040407044353 DOT GA6805 AT panix DOT com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040407044353.GA6805@panix.com> User-Agent: Mutt/1.4.2i On Apr 6 23:43, Oleg Ostrozhansky wrote: > I have a question about writing a multi-threaded program (using POSIX.1 > threads) in Cygwin. "info libc" has a nice chapter about reentrancy, > which talks about __r reentrant variants for functions that are > not thread-safe. But when as an example I try using _gets_r(), I'm > getting a link error that this function does not exist: > > ~ $ gcc -g threadtest.c > /cygdrive/c/.../cc3s8dTu.o(.text+0xb4): In function `main': > threadtest.c:26: undefined reference to `__gets_r' > collect2: ld returned 1 exit status > ~ $ > > I can't find it anywhere in the libraries. The prototype is in stdio.h, > so the compile step works. What do I need to do to make it work? Many reentrant functions from newlib are currently just not exported by Cygwin. Any volunteer to collect these non-exported newlib functions so that we can add all of them? Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Developer mailto:cygwin AT cygwin DOT com Red Hat, Inc. -- 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/