delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2001/04/13/10:15:19

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
Message-ID: <8D00C32549556B4E977F81DBC24E985DC80C@crtsmail1.technol_exch.corp.riotinto.org>
From: "Billinghurst, David (CRTS)" <David DOT Billinghurst AT riotinto DOT com>
To: cygwin AT cygwin DOT com
Subject: RE: pthreads update for the adventurous
Date: Fri, 13 Apr 2001 12:55:22 -0000
MIME-Version: 1.0
X-Mailer: Internet Mail Service (5.5.2653.19)

OK.  I'll bite.  

I have built cygwin1.dll from cvs, then proceeded to build and test gcc-3.0
with --enable-threads=posix.  This seems to work OK.    

I then tried example 1 from
http://www.llnl.gov/computing/tutorials/workshops/workshop/pthreads/MAIN.htm
l (below) using standard cygwin gcc-2.95.3-2 and the gcc-3.0 I built.  There
appears to be a problem with pthread_exit() as the program never exits.  I
tried to debug this, but soon got lost.



/***************************************************************************
***
* FILE: hello.c
* DESCRIPTION:
*   A "hello world" Pthreads program.  Demonstrates thread creation and
*   termination.
*
* SOURCE: 
* LAST REVISED: 9/20/98 Blaise Barney
****************************************************************************
**/

#include <pthread.h>
#include <stdio.h>
#define NUM_THREADS	5

void *PrintHello(void *threadid)
{
   printf("\n%d: Hello World!\n", threadid);
   pthread_exit(NULL);
}

int main()
{
   pthread_t threads[NUM_THREADS];
   int rc, t;
   for(t=0;t<NUM_THREADS;t++){
      printf("Creating thread %d\n", t);
      rc = pthread_create(&threads[t], NULL, PrintHello, (void *)t);
      if (rc){
         printf("ERROR; return code from pthread_create() is %d\n", rc);
         exit(-1);
      }
   }
   pthread_exit(NULL);
}


--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019