Skip to content

Conversation

luke-jr
Copy link
Member

@luke-jr luke-jr commented Mar 5, 2020

Some boost versions have a bug that can cause a time prior to system boot (or wake from sleep) to throw an exception instead of return timeout
See boostorg/thread#308

Fixes #18227

Cleanly merges to 0.14+

@DrahtBot
Copy link
Contributor

DrahtBot commented Mar 6, 2020

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Conflicts

No conflicts as of last run.

@ajtowns
Copy link
Contributor

ajtowns commented Mar 6, 2020

I think travis is failing because this catches boost::thread_interrupted and sometimes doesn't rethrow it. Checking timeToWaitFor <= ::now() prior to calling wait_until might work better?

Some boost versions have a bug that can cause a time prior to system boot (or wake from sleep) to throw an exception instead of return timeout
See boostorg/thread#308
@luke-jr luke-jr force-pushed the wrkarnd_boost_wait_until branch from 1255050 to ed0223e Compare March 6, 2020 03:54
@luke-jr
Copy link
Member Author

luke-jr commented Mar 6, 2020

That could break in a race (suspend after check, but before wait_until).

Fixed it by always rethrowing boost::thread_interrupted reliably.

@maflcko
Copy link
Member

maflcko commented Mar 6, 2020

Please enable the mockscheduler unit test again

@luke-jr luke-jr closed this Mar 6, 2020
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Feb 15, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

scheduler test causing pthread_cond_timedwait: Invalid argument error
4 participants