Guest User

Untitled

a guest
Sep 26th, 2019
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.83 KB | None | 0 0
  1.     [ysionneau@xxxxx ~]$ cat puts.c
  2.     #include <pthread.h>
  3.     #include <stdio.h>
  4.     ​
  5.     static pthread_barrier_t bar;
  6.     ​
  7.     static void *t1(void *arg)
  8.     {
  9.         printf("Thread started.\n");
  10.         pthread_barrier_wait(&bar);
  11.         pthread_barrier_wait(&bar);
  12.         puts("we try to write!\n");
  13.     }
  14.     ​
  15.     int main(void)
  16.     {
  17.         pthread_t thread;
  18.     ​
  19.         printf("Starting pthread...\n");
  20.     ​
  21.         pthread_barrier_init(&bar, NULL, 2);
  22.         pthread_create(&thread, NULL, &t1, NULL);
  23.     ​
  24.         pthread_barrier_wait(&bar);
  25.         printf("Canceling our thread\n");
  26.         pthread_cancel(thread);
  27.         pthread_barrier_wait(&bar);
  28.     ​
  29.         pthread_join(thread, NULL);
  30.     ​
  31.         puts("we also try to write\n");
  32.     ​
  33.         return 0;
  34.     }
  35.     [ysionneau@xxxxx ~]$ gcc puts.c -o puts -pthread
Add Comment
Please, Sign In to add comment