blob: fb6b16e656b51b2c8f35842d71698d7b2a618fd8 (
plain)
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
|
#! stap
# test that polling loops do not exit when conflicts happen
# see PR 1379
global called, num_polls
probe kernel.function( "sys_*" ).call {
called[execname(),name]++
}
probe timer.ms(1000)
{
print("\n\n")
num_to_do = 10
foreach ([n,f] in called-) {
printf("%s called %s\t%d times\n", n, f, called[n,f])
num_to_do--
if (num_to_do <= 0)
break
}
delete called
num_polls++
if (num_polls > 30)
exit()
}
probe end {
if (num_polls <= 30)
print ("FAIL\n")
else
print ("SUCCESS\n")
}
|