$ test_threads2
Counter value functionCount1: 1
Counter value functionCount1: 2
Counter value functionCount1: 3
Counter value functionCount2: 4
Counter value functionCount2: 5
Counter value functionCount2: 6
Counter value functionCount2: 7
Counter value functionCount1: 8
Counter value functionCount1: 9
Counter value functionCount1: 10
Final count: 10
$ strace test_threads2
execve("/home/jmudd/test_threads2", ["test_threads2"], [/* 26 vars */]) = 0
rt_sigprocmask(SIG_UNBLOCK, [RT_1 RT_2], NULL, 8) = 0
set_thread_area({entry_number:-1 -> 6, base_addr:0x804e540, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
set_tid_address(0x804e558) = 25884
mmap2(NULL, 90112, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb75ea000
mprotect(0xb75eb000, 86016, PROT_READ|PROT_WRITE) = 0
clone(child_stack=0xb75fff30, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|CLONE_DETACHED, parent_tidptr=0xb75fff58, {entry_number:6, base_addr:0xb75fff40, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}, child_tidptr=0xb75fff58) = 25885
mmap2(NULL, 90112, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb75d4000
mprotect(0xb75d5000, 86016, PROT_READ|PROT_WRITE) = 0
clone(child_stack=0xb75e9f30, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|CLONE_DETACHED, parent_tidptr=0xb75e9f58, {entry_number:6, base_addr:0xb75e9f40, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}, child_tidptr=0xb75e9f58) = 25886
futex(0xb75fff58, FUTEX_WAIT, 25885, NULLCounter value functionCount1: 1
Counter value functionCount1: 2
Counter value functionCount1: 3
Counter value functionCount2: 4
Counter value functionCount2: 5
Counter value functionCount2: 6
Counter value functionCount2: 7
Counter value functionCount1: 8
Counter value functionCount1: 9
Counter value functionCount1: 10
) = 0
munmap(0xb75ea000, 90112) = 0
munmap(0xb75d4000, 90112) = 0
writev(1, [{"Final count: 10", 15}, {"\n", 1}], 2Final count: 10
) = 16
exit_group(0) = ?
$