mirror of https://github.com/sipwise/rtpengine.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
master
mr13.3
mr13.3.1
mr12.5.1
mr13.2.1
mr13.0.1
mr13.1.1
mr13.2
mr13.1
mr13.0
mr12.5
mr11.5.1
mr11.5
coverity_scan
mr12.3.1
mr12.3
mr10.5.8
mr10.5
rfuchs/gh1896
rfuchs/rsmp
mr12.4.1
mr12.4
rfuchs/dtls
rfuchs/test
rfuchs/1858
rfuchs/fixes
rfuchs/gh1842
rfuchs/gh1839
mr9.5
mr9.5.9
rfuchs/dataport-mr11.5
rfuchs/dataport
mr10.5.7
mr12.1.1
mr12.2.1
mr12.2
mr12.1
mr9.5.8
mr10.5.6
mr8.5.12
mr8.5
mr11.3.1
mr11.4.1
mr11.3
mr11.4
mr12.0.1
mr12.0
mr10.5.5
mr10.5.1
dzenichev/fictitious
mr10.5.3
mr10.5.4
mr9.5.7
mr11.2.1
mr11.2
mr8.5.11
mr11.1.1
mr11.1
mr9.5.6
mr8.5.10
mr10.5.2
mprokop/github
mr8.5.8
mr8.5.9
mr9.5.1
mr9.5.2
mr9.5.3
mr9.5.4
mr9.5.5
mr10.1.1
mr10.1
mr7.5.13
mr11.0.1
mr7.5
mr11.0
mr10.4.1
mr10.4
mr7.5.1
mr10.3.1
mr10.3
mr10.2.1
mr10.2
mr7.5.12
mr8.5.7
mr8.5.2
mr8.5.1
mr8.5.3
mr8.5.4
mr8.5.5
mr8.5.6
mr7.5.11
mr10.0.1
mr10.0
mika/coverity
mr7.5.8
mr7.5.9
mr7.5.10
mr6.5
mr6.5.13
mr9.4.1
mr9.4
mr6.5.1
mr6.5.2
mr6.5.3
mr6.5.4
mr6.5.5
mr6.5.6
mr6.5.7
mr6.5.8
mr6.5.9
mr6.5.10
mr6.5.11
mr6.5.12
mr7.5.2
mr7.5.3
mr7.5.4
mr7.5.5
mr7.5.6
mr7.5.7
rfuchs/1283
mr9.3.1
mr9.3
mr9.2.1
mr9.2
mr9.1.1
mr9.1
mr8.1.1
mr8.0.2
mr8.1.2
mr8.2.1
mr8.2.2
mr8.3.1
mr8.3.2
mr8.4.1
mr8.3
mr8.2
mr8.1
mr8.0
mr9.0.1
mr9.0
mr8.4.2
mr8.4
mr5.5
mr5.5.13
mr5.5.12
mr5.5.11
mr5.5.10
mr5.5.9
mr5.5.8
mr5.5.7
mr8.0.1
mr4.5
mr7.4
mr4.5.13
mr7.4.2
mr7.4.1
mr7.3
mr4.5.12
mr7.3.2
mr7.2
mr7.1.2
mr7.2.2
mr7.3.1
mr7.1
mr7.1.1
mr7.2.1
mr7.0
mr7.0.2
mr7.0.1
mr4.5.11
mr6.4
mr6.4.2
mr4.5.10
mr6.3
mr5.5.6
mr6.3.2
mr6.1
mr6.4.1
mr6.2
mr3.8
mr3.8.13
mr6.2.2
mr4.5.9
mr6.3.1
mr5.5.5
mr5.5.2
mr6.1.2
mr6.2.1
mr5.5.4
mr4.5.8
mr6.0
mr6.0.2
mr6.1.1
mr5.5.3
mr3.8.12
mr4.5.7
mr5.4.2
mr6.0.1
mr5.4
mr5.5.1
mr4.5.6
mr5.3
mr3.8.11
mr5.3.2
mr5.4.1
mr5.2
mr4.5.5
mr5.2.2
mr5.3.1
mr5.1
mr5.1.2
mr3.8.10
mr5.2.1
mr5.0
mr5.1.1
mr4.5.4
mr5.0.2
mr3.8.9
mr4.5.3
mr5.0.1
mr4.4.1
mr4.4.2
mr4.5.2
mr4.1
mr4.2
mr4.3
mr4.4
mr3.3.1
mr3.3.2
mr3.4.1
mr3.4.2
mr3.5.1
mr3.6.1
mr3.6.2
mr3.7.1
mr3.7.2
mr3.3
mr3.4
mr3.5
mr3.6
mr3.7
mr3.8.8
issue273
mr4.5.1
mr3.8.7
mr4.3.2
mr3.8.6
mr4.2.2
mr4.3.1
mr3.8.5
mr4.1.2
mr4.2.1
old-master-before-socket-rework
mr3.8.4
mr4.0
mr4.0.2
mr3.8.3
mr4.0.1
mr4.1.1
mr3.8.1
mr3.8.2
alutay/test_viabranch
vseva/9065
git.mgm/mediaproxy-ng/mr3.2
git.mgm/mediaproxy-ng/mr3.2.2
git.mgm/mediaproxy-ng/2.3
git.mgm/mediaproxy-ng/master
git.mgm/mediaproxy-ng/mr3.2.1
git.mgm/mediaproxy-ng/2.2
git.mgm/mediaproxy-ng/origin/mr3.2
git.mgm/mediaproxy-ng/github/master
git.mgm/mediaproxy-ng/2.1
git.mgm/mediaproxy-ng/2.0
mr10.0.1.1
mr10.0.1.10
mr10.0.1.11
mr10.0.1.2
mr10.0.1.3
mr10.0.1.4
mr10.0.1.5
mr10.0.1.6
mr10.0.1.7
mr10.0.1.8
mr10.0.1.9
mr10.1.1.1
mr10.1.1.10
mr10.1.1.2
mr10.1.1.3
mr10.1.1.4
mr10.1.1.5
mr10.1.1.6
mr10.1.1.7
mr10.1.1.8
mr10.1.1.9
mr10.2.1.1
mr10.2.1.10
mr10.2.1.11
mr10.2.1.12
mr10.2.1.13
mr10.2.1.14
mr10.2.1.2
mr10.2.1.3
mr10.2.1.4
mr10.2.1.5
mr10.2.1.6
mr10.2.1.7
mr10.2.1.8
mr10.2.1.9
mr10.3.1.1
mr10.3.1.10
mr10.3.1.11
mr10.3.1.2
mr10.3.1.3
mr10.3.1.4
mr10.3.1.5
mr10.3.1.6
mr10.3.1.7
mr10.3.1.8
mr10.3.1.9
mr10.4.1.1
mr10.4.1.2
mr10.4.1.3
mr10.4.1.4
mr10.4.1.5
mr10.4.1.6
mr10.4.1.7
mr10.5.1.1
mr10.5.1.2
mr10.5.1.3
mr10.5.1.4
mr10.5.1.5
mr10.5.1.6
mr10.5.1.7
mr10.5.2.1
mr10.5.2.10
mr10.5.2.11
mr10.5.2.2
mr10.5.2.3
mr10.5.2.4
mr10.5.2.5
mr10.5.2.6
mr10.5.2.7
mr10.5.2.8
mr10.5.2.9
mr10.5.3.1
mr10.5.3.2
mr10.5.3.3
mr10.5.3.4
mr10.5.3.5
mr10.5.3.6
mr10.5.3.7
mr10.5.3.8
mr10.5.3.9
mr10.5.4.1
mr10.5.4.2
mr10.5.4.3
mr10.5.4.4
mr10.5.5.1
mr10.5.5.2
mr10.5.5.3
mr10.5.5.4
mr10.5.5.5
mr10.5.6.1
mr10.5.6.2
mr10.5.6.3
mr10.5.6.4
mr10.5.7.1
mr10.5.7.2
mr10.5.8.1
mr10.5.8.2
mr10.5.8.3
mr11.0.1.1
mr11.0.1.2
mr11.0.1.3
mr11.0.1.4
mr11.0.1.5
mr11.0.1.6
mr11.0.1.7
mr11.1.1.1
mr11.1.1.10
mr11.1.1.11
mr11.1.1.12
mr11.1.1.2
mr11.1.1.3
mr11.1.1.4
mr11.1.1.5
mr11.1.1.6
mr11.1.1.7
mr11.1.1.8
mr11.1.1.9
mr11.2.1.1
mr11.2.1.10
mr11.2.1.11
mr11.2.1.12
mr11.2.1.2
mr11.2.1.3
mr11.2.1.4
mr11.2.1.5
mr11.2.1.6
mr11.2.1.7
mr11.2.1.8
mr11.2.1.9
mr11.3.1.1
mr11.3.1.10
mr11.3.1.11
mr11.3.1.12
mr11.3.1.13
mr11.3.1.14
mr11.3.1.15
mr11.3.1.2
mr11.3.1.3
mr11.3.1.4
mr11.3.1.5
mr11.3.1.6
mr11.3.1.7
mr11.3.1.8
mr11.3.1.9
mr11.4.1.1
mr11.4.1.2
mr11.4.1.3
mr11.4.1.4
mr11.4.1.5
mr11.4.1.6
mr11.4.1.7
mr11.4.1.8
mr11.5.1.1
mr11.5.1.10
mr11.5.1.11
mr11.5.1.12
mr11.5.1.13
mr11.5.1.14
mr11.5.1.15
mr11.5.1.16
mr11.5.1.17
mr11.5.1.18
mr11.5.1.19
mr11.5.1.2
mr11.5.1.20
mr11.5.1.21
mr11.5.1.22
mr11.5.1.23
mr11.5.1.24
mr11.5.1.25
mr11.5.1.26
mr11.5.1.27
mr11.5.1.28
mr11.5.1.29
mr11.5.1.3
mr11.5.1.30
mr11.5.1.31
mr11.5.1.32
mr11.5.1.33
mr11.5.1.34
mr11.5.1.35
mr11.5.1.36
mr11.5.1.37
mr11.5.1.38
mr11.5.1.39
mr11.5.1.4
mr11.5.1.5
mr11.5.1.6
mr11.5.1.7
mr11.5.1.8
mr11.5.1.9
mr12.0.1.1
mr12.0.1.2
mr12.0.1.3
mr12.0.1.4
mr12.0.1.5
mr12.1.1.1
mr12.1.1.2
mr12.1.1.3
mr12.1.1.4
mr12.1.1.5
mr12.1.1.6
mr12.1.1.7
mr12.2.1.1
mr12.2.1.2
mr12.2.1.3
mr12.2.1.4
mr12.2.1.5
mr12.3.1.1
mr12.3.1.2
mr12.3.1.3
mr12.3.1.4
mr12.3.1.5
mr12.3.1.6
mr12.4.1.1
mr12.4.1.10
mr12.4.1.11
mr12.4.1.2
mr12.4.1.3
mr12.4.1.4
mr12.4.1.5
mr12.4.1.6
mr12.4.1.7
mr12.4.1.8
mr12.4.1.9
mr12.5.1.1
mr12.5.1.10
mr12.5.1.11
mr12.5.1.12
mr12.5.1.13
mr12.5.1.14
mr12.5.1.15
mr12.5.1.16
mr12.5.1.17
mr12.5.1.18
mr12.5.1.19
mr12.5.1.2
mr12.5.1.20
mr12.5.1.21
mr12.5.1.22
mr12.5.1.23
mr12.5.1.24
mr12.5.1.25
mr12.5.1.26
mr12.5.1.27
mr12.5.1.28
mr12.5.1.29
mr12.5.1.3
mr12.5.1.30
mr12.5.1.4
mr12.5.1.5
mr12.5.1.6
mr12.5.1.7
mr12.5.1.8
mr12.5.1.9
mr13.0.1.1
mr13.0.1.10
mr13.0.1.2
mr13.0.1.3
mr13.0.1.4
mr13.0.1.5
mr13.0.1.6
mr13.0.1.7
mr13.0.1.8
mr13.0.1.9
mr13.1.1
mr13.1.1.1
mr13.1.1.10
mr13.1.1.11
mr13.1.1.12
mr13.1.1.13
mr13.1.1.14
mr13.1.1.2
mr13.1.1.3
mr13.1.1.4
mr13.1.1.5
mr13.1.1.6
mr13.1.1.7
mr13.1.1.8
mr13.1.1.9
mr13.2.1.1
mr13.2.1.10
mr13.2.1.2
mr13.2.1.3
mr13.2.1.4
mr13.2.1.5
mr13.2.1.6
mr13.2.1.7
mr13.2.1.8
mr13.2.1.9
mr13.3.1.1
mr3.3.1.1
mr3.3.1.2
mr3.3.1.3
mr3.3.1.4
mr3.3.1.5
mr3.3.1.6
mr3.3.2.1
mr3.3.2.2
mr3.3.2.3
mr3.3.2.4
mr3.4.1.1
mr3.4.1.2
mr3.4.1.3
mr3.4.1.4
mr3.4.1.5
mr3.4.2.1
mr3.4.2.2
mr3.4.2.3
mr3.4.2.4
mr3.4.2.5
mr3.5.1.1
mr3.5.1.2
mr3.6.1.1
mr3.6.1.2
mr3.6.2.1
mr3.6.2.2
mr3.7.1.1
mr3.7.1.2
mr3.7.1.3
mr3.7.2.1
mr3.7.2.2
mr3.7.2.3
mr3.8.1.1
mr3.8.1.2
mr3.8.1.3
mr3.8.1.4
mr3.8.1.5
mr3.8.1.6
mr3.8.1.7
mr3.8.10.1
mr3.8.11.1
mr3.8.12.1
mr3.8.12.2
mr3.8.13.1
mr3.8.2.1
mr3.8.2.2
mr3.8.2.3
mr3.8.3.1
mr3.8.3.2
mr3.8.3.3
mr3.8.4.1
mr3.8.5.1
mr3.8.6.1
mr3.8.7.1
mr3.8.8.1
mr3.8.9.1
mr4.0.1.1
mr4.0.1.2
mr4.0.1.3
mr4.0.2.1
mr4.1.1.1
mr4.1.1.2
mr4.1.2.1
mr4.2.1.1
mr4.2.2.1
mr4.3.1.1
mr4.3.2.1
mr4.4.1.1
mr4.4.1.2
mr4.4.2.1
mr4.4.2.2
mr4.5.1.1
mr4.5.10.1
mr4.5.11.1
mr4.5.11.2
mr4.5.12.1
mr4.5.12.2
mr4.5.13.1
mr4.5.2.1
mr4.5.2.2
mr4.5.2.3
mr4.5.3.1
mr4.5.4.1
mr4.5.5.1
mr4.5.6.1
mr4.5.7.1
mr4.5.7.2
mr4.5.8.1
mr4.5.9.1
mr5.0.1.1
mr5.0.2.1
mr5.1.1.1
mr5.1.2.1
mr5.2.1.1
mr5.2.2.1
mr5.3.1.1
mr5.3.2.1
mr5.4.1.1
mr5.4.2.1
mr5.4.2.2
mr5.5.1.1
mr5.5.10.1
mr5.5.10.2
mr5.5.10.3
mr5.5.10.4
mr5.5.11.1
mr5.5.11.2
mr5.5.11.3
mr5.5.12.1
mr5.5.13.1
mr5.5.2.1
mr5.5.2.2
mr5.5.3.1
mr5.5.4.1
mr5.5.5.1
mr5.5.6.1
mr5.5.7.1
mr5.5.7.2
mr5.5.8.1
mr5.5.8.2
mr5.5.9.1
mr5.5.9.2
mr6.0.1.1
mr6.0.1.2
mr6.0.2.1
mr6.1.1.1
mr6.1.2.1
mr6.2.1.1
mr6.2.1.2
mr6.2.2.1
mr6.3.1.1
mr6.3.2.1
mr6.4.1.1
mr6.4.2.1
mr6.5.1.1
mr6.5.1.2
mr6.5.10.1
mr6.5.10.2
mr6.5.10.3
mr6.5.11.1
mr6.5.11.2
mr6.5.12.1
mr6.5.12.2
mr6.5.13.1
mr6.5.2.1
mr6.5.2.2
mr6.5.3.1
mr6.5.3.2
mr6.5.3.3
mr6.5.3.4
mr6.5.3.5
mr6.5.3.6
mr6.5.4.1
mr6.5.4.2
mr6.5.4.3
mr6.5.5.1
mr6.5.5.2
mr6.5.5.3
mr6.5.5.4
mr6.5.5.5
mr6.5.6.1
mr6.5.6.2
mr6.5.6.3
mr6.5.6.4
mr6.5.7.1
mr6.5.7.2
mr6.5.7.3
mr6.5.7.4
mr6.5.7.5
mr6.5.7.6
mr6.5.8.1
mr6.5.8.2
mr6.5.8.3
mr6.5.9.1
mr6.5.9.2
mr7.0.1.1
mr7.0.2.1
mr7.0.2.2
mr7.1.1.1
mr7.1.1.2
mr7.1.1.3
mr7.1.1.4
mr7.1.1.5
mr7.1.2.1
mr7.1.2.2
mr7.1.2.3
mr7.2.1.1
mr7.2.1.2
mr7.2.1.3
mr7.2.1.4
mr7.2.2.1
mr7.2.2.2
mr7.3.1.1
mr7.3.1.2
mr7.3.1.3
mr7.3.2.1
mr7.3.2.2
mr7.4.1.1
mr7.4.1.2
mr7.4.1.3
mr7.4.1.4
mr7.4.1.5
mr7.4.1.6
mr7.4.1.7
mr7.4.2.1
mr7.4.2.2
mr7.5.1.1
mr7.5.1.2
mr7.5.1.3
mr7.5.1.4
mr7.5.1.5
mr7.5.1.6
mr7.5.1.7
mr7.5.1.8
mr7.5.10.1
mr7.5.10.2
mr7.5.11.1
mr7.5.12.1
mr7.5.13.1
mr7.5.13.2
mr7.5.13.3
mr7.5.2.1
mr7.5.2.10
mr7.5.2.2
mr7.5.2.3
mr7.5.2.4
mr7.5.2.5
mr7.5.2.6
mr7.5.2.7
mr7.5.2.8
mr7.5.2.9
mr7.5.3.1
mr7.5.3.2
mr7.5.3.3
mr7.5.3.4
mr7.5.3.5
mr7.5.3.6
mr7.5.3.7
mr7.5.4.1
mr7.5.4.2
mr7.5.4.3
mr7.5.4.4
mr7.5.4.5
mr7.5.5.1
mr7.5.5.2
mr7.5.5.3
mr7.5.5.4
mr7.5.5.5
mr7.5.6.1
mr7.5.6.2
mr7.5.6.3
mr7.5.6.4
mr7.5.6.5
mr7.5.6.6
mr7.5.6.7
mr7.5.6.8
mr7.5.7.1
mr7.5.7.2
mr7.5.7.3
mr7.5.8.1
mr7.5.8.2
mr7.5.8.3
mr7.5.8.4
mr7.5.9.1
mr7.5.9.2
mr7.5.9.3
mr8.0.1.1
mr8.0.1.2
mr8.0.1.3
mr8.0.1.4
mr8.0.2.1
mr8.0.2.2
mr8.1.1.1
mr8.1.1.2
mr8.1.1.3
mr8.1.1.4
mr8.1.1.5
mr8.1.1.6
mr8.1.1.7
mr8.1.2.1
mr8.1.2.2
mr8.2.1.1
mr8.2.1.2
mr8.2.1.3
mr8.2.1.4
mr8.2.1.5
mr8.2.2.1
mr8.2.2.2
mr8.2.2.3
mr8.3.1.1
mr8.3.1.2
mr8.3.1.3
mr8.3.1.4
mr8.3.1.5
mr8.3.1.6
mr8.3.1.7
mr8.3.1.8
mr8.3.2.1
mr8.3.2.2
mr8.3.2.3
mr8.4.1.1
mr8.4.1.2
mr8.4.1.3
mr8.4.1.4
mr8.4.1.5
mr8.4.2.1
mr8.4.2.2
mr8.5.1.1
mr8.5.1.10
mr8.5.1.11
mr8.5.1.2
mr8.5.1.3
mr8.5.1.4
mr8.5.1.5
mr8.5.1.6
mr8.5.1.7
mr8.5.1.8
mr8.5.1.9
mr8.5.10.1
mr8.5.10.2
mr8.5.10.3
mr8.5.10.4
mr8.5.10.5
mr8.5.10.6
mr8.5.11.1
mr8.5.12.1
mr8.5.12.2
mr8.5.2.1
mr8.5.2.10
mr8.5.2.11
mr8.5.2.12
mr8.5.2.13
mr8.5.2.2
mr8.5.2.3
mr8.5.2.4
mr8.5.2.5
mr8.5.2.6
mr8.5.2.7
mr8.5.2.8
mr8.5.2.9
mr8.5.3.1
mr8.5.3.2
mr8.5.3.3
mr8.5.3.4
mr8.5.3.5
mr8.5.3.6
mr8.5.3.7
mr8.5.3.8
mr8.5.4.1
mr8.5.4.2
mr8.5.4.3
mr8.5.4.4
mr8.5.4.5
mr8.5.4.6
mr8.5.4.7
mr8.5.5.1
mr8.5.5.2
mr8.5.5.3
mr8.5.5.4
mr8.5.6.1
mr8.5.6.2
mr8.5.6.3
mr8.5.6.4
mr8.5.7.1
mr8.5.7.2
mr8.5.7.3
mr8.5.7.4
mr8.5.8.1
mr8.5.8.2
mr8.5.9.1
mr8.5.9.2
mr8.5.9.3
mr8.5.9.4
mr8.5.9.5
mr8.5.9.6
mr9.0.1.1
mr9.0.1.10
mr9.0.1.2
mr9.0.1.3
mr9.0.1.4
mr9.0.1.5
mr9.0.1.6
mr9.0.1.7
mr9.0.1.8
mr9.0.1.9
mr9.1.1.1
mr9.1.1.10
mr9.1.1.2
mr9.1.1.3
mr9.1.1.4
mr9.1.1.5
mr9.1.1.6
mr9.1.1.7
mr9.1.1.8
mr9.1.1.9
mr9.2.1.1
mr9.2.1.2
mr9.2.1.3
mr9.2.1.4
mr9.2.1.5
mr9.2.1.6
mr9.2.1.7
mr9.2.1.8
mr9.3.1.1
mr9.3.1.2
mr9.3.1.3
mr9.3.1.4
mr9.3.1.5
mr9.3.1.6
mr9.3.1.7
mr9.3.1.8
mr9.3.1.9
mr9.4.1.1
mr9.4.1.2
mr9.4.1.3
mr9.4.1.4
mr9.4.1.5
mr9.4.1.6
mr9.5.1.1
mr9.5.1.2
mr9.5.1.3
mr9.5.1.4
mr9.5.1.5
mr9.5.1.6
mr9.5.1.7
mr9.5.1.8
mr9.5.1.9
mr9.5.2.1
mr9.5.2.2
mr9.5.2.3
mr9.5.2.4
mr9.5.2.5
mr9.5.2.6
mr9.5.2.7
mr9.5.3.1
mr9.5.3.2
mr9.5.3.3
mr9.5.3.4
mr9.5.3.5
mr9.5.3.6
mr9.5.3.7
mr9.5.4.1
mr9.5.4.2
mr9.5.4.3
mr9.5.4.4
mr9.5.5.1
mr9.5.5.2
mr9.5.5.3
mr9.5.5.4
mr9.5.5.5
mr9.5.5.6
mr9.5.6.1
mr9.5.6.2
mr9.5.6.3
mr9.5.6.4
mr9.5.6.5
mr9.5.6.6
mr9.5.6.7
mr9.5.7.1
mr9.5.8.1
mr9.5.8.2
mr9.5.8.3
mr9.5.8.4
mr9.5.9.1
${ noResults }
49 lines
1.5 KiB
49 lines
1.5 KiB
#include <dlfcn.h>
|
|
#include <stdio.h>
|
|
#include <sys/types.h>
|
|
#include <sys/time.h>
|
|
#include <stdlib.h>
|
|
|
|
static inline long long timeval_us(const struct timeval *t) {
|
|
return (long long) ((long long) t->tv_sec * 1000000LL) + t->tv_usec;
|
|
}
|
|
static inline void timeval_from_us(struct timeval *t, long long us) {
|
|
t->tv_sec = us/1000000LL;
|
|
t->tv_usec = us%1000000LL;
|
|
}
|
|
static inline long long timespec_ns(const struct timespec *t) {
|
|
return (long long) ((long long) t->tv_sec * 1000000000LL) + t->tv_nsec;
|
|
}
|
|
static inline void timespec_from_ns(struct timespec *t, long long ns) {
|
|
t->tv_sec = ns/1000000000LL;
|
|
t->tv_nsec = ns%1000000000LL;
|
|
}
|
|
static long long offset = 0;
|
|
int gettimeofday(struct timeval *restrict tv, void *restrict tz) {
|
|
__typeof__ (gettimeofday) *fn = dlsym(RTLD_NEXT, "gettimeofday");
|
|
int ret = fn(tv, tz);
|
|
if (ret)
|
|
return ret;
|
|
long r = random();
|
|
if (r < ((1L<<31) / 100)) {
|
|
// 1% chance
|
|
long long add = random() & 0xffff;
|
|
offset += add;
|
|
fprintf(stderr, "moving clock forward by %lli us\n", add);
|
|
}
|
|
long long tvs = timeval_us(tv);
|
|
tvs += offset;
|
|
timeval_from_us(tv, tvs);
|
|
return ret;
|
|
}
|
|
int pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex, const struct timespec *abstime) {
|
|
__typeof__ (pthread_cond_timedwait) *fn = dlsym(RTLD_NEXT, "pthread_cond_timedwait");
|
|
if (!abstime)
|
|
return fn(cond, mutex, abstime);
|
|
struct timespec tn;
|
|
long long ns = timespec_ns(abstime);
|
|
ns -= offset * 1000LL;
|
|
timespec_from_ns(&tn, ns);
|
|
return fn(cond, mutex, &tn);
|
|
}
|