Skip to content

the sleep(UINT32_MAX) has exited on OpenWRT instantly#39

Open
halfbakery wants to merge 1 commit intovortex314:masterfrom
halfbakery:openwrt_fix
Open

the sleep(UINT32_MAX) has exited on OpenWRT instantly#39
halfbakery wants to merge 1 commit intovortex314:masterfrom
halfbakery:openwrt_fix

Conversation

@halfbakery
Copy link
Copy Markdown
Contributor

The sleep(UINT32_MAX) has exited instantly on OpenWrt. This fix will work forever :-)

@halfbakery
Copy link
Copy Markdown
Contributor Author

I forgot to mention, that sleep(INT32_MAX) is working correctly, only the greater values are problematic. It's definetly not a busy loop. The for loop around the sleep is just some extra pedantry:

  • serial2mqtt could run longer than than 68 years :-)
  • theoretically signal handlers could interrupt sleep (currently we don't use signal handlers, but this solution is future proof)

If you have any concerns, please let me know.

@halfbakery
Copy link
Copy Markdown
Contributor Author

Or we can use a more idiomatic way:

for (;;)
{
    pause();
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant