Closed danielinux closed 10 years ago
Don't forget all current applications will also need to change their implementation.
Do all architectures support unsigned long long?
Reopening due to a regression introduced in 52f21a432e895f7f9ec9d3898a0ca0572d6892eb
Please add a unit test to verify that (uint64_t)(-1) can be safely assigned to pico_tick -- We don't want to have another regression on this anymore.
Created pico_time as synonym for uint64_t. All the timestamps have the type pico_time. Added unit test to check pico_tick = -1.
Looking at our freshly introduced coding guidelines: Does this clash with any of them? We're typedeffing a known type. And the Ticks framework doesn't have any problems any more with these changes?
The only reason I did the typedef is in the future it needs to be changed you don't search in the whole stack but only in one place. Another reason is that you can easily see which variables are timestamps.
Is this rule broken?
uint64_t should be considered as standard type.
This issue introduces a regression for AUTOTEST. Reproducible 100%:
UDP TEST ./test/autotest.sh: line 20: 1833 Segmentation fault (core dumped) ./build/test/picoapp.elf --vde pic0:/tmp/pic0.ctl:10.40.0.9:255.255.0.0: -a udpclient:10.40.0.8:6667:6667:1400:100:10 Build step 'Execute shell' marked build as failure
Tested on my machine, sadly there unsigned long = uint64_t. Root cause was in picoapp.c This time the test was run on a 32 bit machine and passed.
Please run autotest again, confirm and close.
Continuous integration on masterbranch autotest is back to normal. Issue closed. Thanks Andrei.
This is issue 724 in internal redmine
System tick counter is 32 bit in size, and counts every ms..
2^32 / 1000 --> ms / 3600 --> hours / 24 --> days
= 49.71 days.
I propose to increase the counter to an unsigned long long everywhere... That timer should never ever overflow.