ralphy wrote: > However, there is an issue with all the jive based clients where a timer > variable wraps back to zero every 24 days +20:31 which causes > squeezeplay to stop updating the watchdog shared memory semaphore which > causes the watchdog to reboot the device.
This may be some kind of answer if unsigned 64 bit integers are available, and don't kill performance: Redefine -jive_jiffies- to be -Uint64- instead of -Uint32-. https://github.com/Logitech/squeezeplay/blob/7.8/src/squeezeplay_baby/src/common.h#L65 Systems that use -SDL_GetTicks()- won't get much benefit, because that's only 32 bit unsigned milliseconds anyway. But systems that use -clock_gettime- could gain. Fix up -jiveL_get_ticks- to push appropriate unsigned value. https://github.com/Logitech/squeezeplay/blob/public/7.8/src/squeezeplay/src/ui/jive_framework.c#L967 The lua number type in use on SqueezePlay is, I believe, a double float, with 53 bits ? of integer precision, not 64, but that might be ok. It ought to give us about 300,000 years instead of 24 days. It is a compile time option. Find out what breaks horribly, and on what platform. Rinse / repeat. Just an idle thought, really. 64 bits is overkill, but 32 bits clearly isn't enough. There may be a better way... ------------------------------------------------------------------------ mrw's Profile: http://forums.slimdevices.com/member.php?userid=38299 View this thread: http://forums.slimdevices.com/showthread.php?t=111663 _______________________________________________ Radio mailing list [email protected] http://lists.slimdevices.com/mailman/listinfo/radio
