From 5e1b67d4990512c3b3a14b4be94ee050afc45e29 Mon Sep 17 00:00:00 2001 From: fadhil riyanto Date: Thu, 26 Sep 2024 16:57:40 +0700 Subject: test mutex Signed-off-by: fadhil riyanto --- test/mutex.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 test/mutex.c diff --git a/test/mutex.c b/test/mutex.c new file mode 100644 index 0000000..8130fec --- /dev/null +++ b/test/mutex.c @@ -0,0 +1,47 @@ + +#include +#include +#include +#include +#include +#include +#include + +pthread_t tid[2]; +int counter; +pthread_mutex_t lock; + +void *trythis(void *arg) { + pthread_mutex_lock(&lock); + unsigned long i = 0; + counter += 1; + printf("\n Job %d has started\n", counter); + + for (i = 0; i < (0xFFFFFFFF); i++) + ; + printf("\n Job %d has finished\n", counter); + pthread_mutex_unlock(&lock); + return NULL; +} + +int main(void) { + int i = 0; + int error; + + pthread_mutex_init(&lock, NULL); + + while (i < 2) { + error = pthread_create(&(tid[i]), NULL, &trythis, NULL); + if (error != 0) + printf("\nThread can't be created : [%s]", + strerror(error)); + i++; + } + + pthread_join(tid[0], NULL); + pthread_join(tid[1], NULL); + + pthread_mutex_destroy(&lock); + + return 0; +} -- cgit v1.2.3