diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2016-07-23 20:50:09 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2016-07-23 20:50:09 +0000 | 
| commit | f3fbd1c0586ff6ec7895991e6c28f61a503c36a8 (patch) | |
| tree | 48d008fd3df8c0e73271a4b18474e0aac6dbfe33 /packages/Python/lldbsuite/test/functionalities/tsan/basic/main.c | |
| parent | 2fc5d2d1dfaf623ce4e24cd8590565902f8c557c (diff) | |
Notes
Diffstat (limited to 'packages/Python/lldbsuite/test/functionalities/tsan/basic/main.c')
| -rw-r--r-- | packages/Python/lldbsuite/test/functionalities/tsan/basic/main.c | 37 | 
1 files changed, 37 insertions, 0 deletions
| diff --git a/packages/Python/lldbsuite/test/functionalities/tsan/basic/main.c b/packages/Python/lldbsuite/test/functionalities/tsan/basic/main.c new file mode 100644 index 000000000000..c082b01a57c7 --- /dev/null +++ b/packages/Python/lldbsuite/test/functionalities/tsan/basic/main.c @@ -0,0 +1,37 @@ +//===-- main.c --------------------------------------------------*- C++ -*-===// +// +//                     The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +#include <pthread.h> +#include <stdio.h> +#include <stdlib.h> + +char *pointer; + +void *f1(void *p) { +    pointer[0] = 'x'; // thread1 line +    return NULL; +} + +void *f2(void *p) { +    pointer[0] = 'y'; // thread2 line +    return NULL; +} + +int main (int argc, char const *argv[]) +{ +    pointer = (char *)malloc(10); // malloc line + +    pthread_t t1, t2; +    pthread_create(&t1, NULL, f1, NULL); +    pthread_create(&t2, NULL, f2, NULL); + +    pthread_join(t1, NULL); +    pthread_join(t2, NULL); + +    return 0; +} | 
