File: concurrent_map_mt_gdb_2.gdb

package info (click to toggle)
libpmemobj-cpp 1.12-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 8,388 kB
  • sloc: cpp: 136,076; sh: 1,022; perl: 381; ansic: 163; makefile: 13
file content (47 lines) | stat: -rw-r--r-- 937 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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
set width 0
set height 0
set verbose off
set confirm off
set breakpoint pending on
set pagination off

# This test does the following:
# 1. Run all code until gdb_sync1 invocation and pause all threads
# 2. Advance thread 10 (thread_id == 0) to internal_insert_ndode invocation
#    (threads 11 and 12 are waiting on spin loop)
# 3. Advance thread 11 (thread_id == 1) to after first set_next invocation (in internal_insert_node)
# 4. Advance thread 12 (thread_id == 2, reader thread) map->count invocation
#    New node should now be visible (thread 11 partially completed)

break gdb_sync1
run
rbreak concurrent_skip_list_impl.hpp:internal_insert_node
thread 10
c
set scheduler-locking on
thread 11
break gdb_sync2
c
del 3
finish
set variable loop_sync_1 = 0
c
break set_next
c
finish
finish
finish
n
n
del 4
thread 12
break gdb_sync3
c
del 5
finish
set variable loop_sync_2 = 0
break gdb_sync_exit thread 12
c
finish
info threads
quit