File: main.c

package info (click to toggle)
cbmc 5.2-1~bpo8%2B1
  • links: PTS
  • area: main
  • in suites: jessie-backports
  • size: 84,268 kB
  • sloc: cpp: 177,758; ansic: 32,485; yacc: 3,550; lex: 1,778; makefile: 1,071; java: 1,039; sh: 717; python: 649; perl: 246; pascal: 141
file content (23 lines) | stat: -rw-r--r-- 741 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <pthread.h>
#include <stdlib.h>
#include <assert.h>

pthread_mutex_t lock_never_unlock_002_glb_mutex = PTHREAD_MUTEX_INITIALIZER;

void* lock_never_unlock_002_tsk_001(void* pram) { 
  pthread_mutex_lock(&lock_never_unlock_002_glb_mutex);  
  pthread_mutex_unlock(&lock_never_unlock_002_glb_mutex);  
  return NULL; 
} 

void main() { 
  pthread_t tid1; 
  pthread_t tid2; 
  pthread_mutex_init(&lock_never_unlock_002_glb_mutex, NULL); 
  pthread_create(&tid1, NULL, lock_never_unlock_002_tsk_001, NULL); 
  pthread_create(&tid2, NULL, lock_never_unlock_002_tsk_001, NULL); 
  pthread_join(tid1, NULL); 
  pthread_join(tid2, NULL); 
  // no deadlock in the threads; assertion should be reached
  assert(0);
}