X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d0e93a6a4400978f6473c813eb434437ab540b2d..ebec9c6104a6bbe60b7bf4586baeaf0b88f53505:/examples/sthread/sthread-mutex-simple.c diff --git a/examples/sthread/sthread-mutex-simple.c b/examples/sthread/sthread-mutex-simple.c index 3ab82670c8..dccec547f7 100644 --- a/examples/sthread/sthread-mutex-simple.c +++ b/examples/sthread/sthread-mutex-simple.c @@ -5,11 +5,12 @@ sthread_mutex_t mutex; -static void* thread_fun(void* ignore) +static void* thread_fun(void* val) { sthread_mutex_lock(&mutex); sthread_mutex_unlock(&mutex); + fprintf(stderr, "The thread %d is terminating.\n", *(int*)val); return NULL; } @@ -17,13 +18,17 @@ int main(int argc, char* argv[]) { sthread_mutex_init(&mutex, NULL); + int id[2] = {0, 1}; sthread_t thread1; sthread_t thread2; - sthread_create(&thread1, NULL, thread_fun, NULL); - sthread_create(&thread2, NULL, thread_fun, NULL); + sthread_create(&thread1, NULL, thread_fun, &id[0]); + sthread_create(&thread2, NULL, thread_fun, &id[1]); + fprintf(stderr, "All threads are started.\n"); sthread_join(thread1, NULL); sthread_join(thread2, NULL); - fprintf(stderr, "done\n"); + sthread_mutex_destroy(&mutex); + + fprintf(stderr, "User's main is terminating.\n"); return 0; }