O'Reilly logo

Hands-On System Programming with Linux by Kaiwan N Billimoria

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

A simple CV usage demo application

Too many inits/destroys? Looking at the following simple code (ch15/cv_simple.c) will clarify their usage; we write a small program to demonstrate the usage of a condition variable and its associated mutex lock. Here, we create two threads, A and B. We then have thread B perform some work and thread A synchronize upon completion of that work by using the {CV, mutex} pair:

For readability, only key parts of the source code are displayed; to view the complete source code, build and run it. The entire tree is available for cloning from GitHub here: https://github.com/PacktPublishing/Hands-on-System-Programming-with-Linux.
...#define LOCK_MTX(mtx) do { \  int ret=0; \  if ((ret = pthread_mutex_lock(mtx))) \ FATAL("pthread_mutex_lock ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required