Austin Beer
de7e354a8e
Improved the timespec implementation
...
* Added a constructor to timespec_duration, real_timespec_timepoint, and mono_timespec_timepoint that takes an intmax_t representing the number of nanoseconds in the timespec.
* Added a getNs() function to timespec_duration, real_timespec_timepoint, and mono_timespec_timepoint that returns an intmax_t representing the number of nanoseconds in the timespec.
* Added a timespec_milliseconds() function that takes an integer representing milliseconds and returns a timespec_duration.
* Removed some unnecessary BOOST_SYMBOL_VISIBLE declarations.
* Removed the unnecessary d100 variable declarations.
2017-09-21 09:28:18 -06:00
Austin Beer
285d35f43f
Cleanup
...
* Deleted a couple of unnecessary calls to internal_clock_t::now() in v2/thread.hpp.
* Deleted the hidden::sleep_until() functions, which are no longer being used.
* Deleted the condition_variable::do_wait_for() function, which is no longer being used.
* Deleted the sleep_mutex and sleep_condition variables in pthread/thread_data.hpp, which are no longer being used.
2017-09-19 16:12:22 -06:00
Vicente J. Botet Escriba
a18dfa1fea
Merge branch 'feature/timespec_clocks' of github.com:boostorg/thread into feature/timespec_clocks
2017-09-19 23:46:45 +02:00
Austin Beer
a9706f0745
Fixed sleep(TimeDuration const& rel_time) when internal clock is not monotonic but CLOCK_MONOTONIC is available.
2017-09-19 15:06:06 -06:00
Vicente J. Botet Escriba
8e718893e5
Merge branch 'feature/timespec_clocks' of github.com:boostorg/thread into feature/timespec_clocks
2017-09-19 22:09:38 +02:00
Austin Beer
aebbcda3fe
Updates to fix interruption-point inconsistencies.
...
* Fixed the interruption-point versions of sleep_for/sleep_until() to always use condition variables.
* Fixed the no-interruption-point versions of sleep_for/sleep_until() to use pthread_delay_np or nanosleep whenever possible.
* Updated hidden::sleep_for() to always use a condition variable.
* Updated no_interruption_point::hidden::sleep_for() to use pthread_delay_np or nanosleep whenever possible.
2017-09-19 09:04:57 -06:00
Vicente J. Botet Escriba
5b4d230d4a
Merge branch 'develop' into feature/timespec_clocks
2017-09-19 13:01:20 +02:00
Vicente J. Botet Escriba
48a2a960da
remove some warnings.
2017-09-19 03:20:46 +02:00
Vicente J. Botet Escriba
82eed2ca6d
make use of do_wait_until when BOOST_THREAD_HAS_CONDATTR_SET_CLOCK_MONOTONIC is defined as proposed by Austin Beer..
2017-09-17 19:09:09 +02:00
Vicente J. Botet Escriba
14deba107f
minor chnages.
2017-09-07 22:41:31 +02:00
Vicente J. Botet Escriba
81fe14fda2
Update after test from brainwave64.
2017-09-04 07:35:33 +02:00
Vicente J. Botet Escriba
1063638763
Replace timespec by specific clock/timepoint/duration like classes that represent the monotonic, the real or the one used internaly at the platform level. Make use of these clocks/timepoints/durations almost all around. Need to replace yet all the occurrences of get_system_time().
2017-09-02 14:42:25 +02:00
Vicente J. Botet Escriba
510e66aef7
rename make_ready to notify_deferred.
2017-08-26 10:39:31 +02:00
Vicente J. Botet Escriba
28bf345c96
make more evident that timespec is realtime and not monotonic.
2017-08-16 20:30:59 +02:00
David Olsen
047205fbbd
Fix sleep_until() to use a realtime clock
...
boost::this_thread::no_interruption_point::hidden::sleep_until() takes an absolute time as a parameter and converts it to a duration for the length of time to sleep. But the current time that the absolute time is compared against came from timespec_now(), which, on Linux at least, uses CLOCK_MONOTONIC, which "represents monotonic time since some unspecified starting point." Since timespec_now() may have a different starting point than the time that was passed to sleep_until(), that can result in sleep_until() sleeping for an *extremely* long time, causing the program to appear to hang.
Change sleep_until() to get the current time from timespec_now_realtime(), which uses CLOCK_REALTIME, which has the same epoch as the time that is passed to sleep_until().
2017-08-02 15:19:32 -07:00
Vicente J. Botet Escriba
2c3acef281
remove unuseful files.
2016-04-21 19:11:55 +02:00
Vicente J. Botet Escriba
587ad42548
fix hiden rename
2016-04-21 00:10:30 +02:00
Vicente J. Botet Escriba
57f34e1ea4
fix memory leak.
2016-04-20 23:52:30 +02:00
Vicente J. Botet Escriba
daae305bf7
fix memory leak.
2016-04-20 23:50:43 +02:00
Philippe Daouadi
e29a4129e8
fix leak in tls
2016-04-16 10:48:40 +02:00
Vicente J. Botet Escriba
47357de276
rollback BOOST_THREAD_PATCH.
2016-03-23 23:15:50 +01:00
Vicente J. Botet Escriba
c0fe04ecc9
ensure the void* in the cleanup is shared during the call.
2015-11-08 11:04:40 +01:00
Gaurav
40b3dc0c2c
Remove duplicate conditional check.
...
thread_info already checked against Null at line no 86, no need to check again.
2015-11-03 14:28:37 +05:30
Vicente J. Botet Escriba
0fdd4fc620
remove comments.
2015-09-24 01:36:41 +02:00
Vicente J. Botet Escriba
242cf35c51
Try patch for oldticket #3926 - thread_specific_ptr + dlopen library causes a SIGSEGV
2015-09-08 19:24:15 +02:00
Vicente J. Botet Escriba
4d45da6c06
Apply patch #11302 .
2015-05-18 21:26:46 +02:00
Vicente J. Botet Escriba
0218136ed7
Try to see if share_from_this helps on the thread sanitize data race.
2015-04-25 15:41:49 +02:00
Vicente J. Botet Escriba
1bd78bbeea
cleanup commented code.
2015-04-25 11:16:03 +02:00
Vicente J. Botet Escriba
ec6a1fcf80
try to get rid of data race.
2015-03-10 00:48:12 +01:00
Vicente J. Botet Escriba
c678b3794b
Crash issue while calling run_thread_exit_callbacks. Related to #11053 .
2015-03-01 01:37:35 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
9cc1357c95
Revert "Try to include some STL headers which Android libc++ claims have not been included."
...
This reverts commit b571686e5d .
2015-02-06 12:21:55 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b571686e5d
Try to include some STL headers which Android libc++ claims have not been included.
2015-02-06 12:09:52 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
ce8049f83f
Looks like timeconv.inl may be completely unnecessary, so remove.
2014-12-14 02:01:13 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
035217985c
Could find no code anywhere in Boost which uses to_time(), to_timespec_duration(), to_duration() nor to_microduration(), so removed the code.
2014-12-14 01:38:50 +00:00
Vicente J. Botet Escriba
c6817aeb1c
fall back to harware concurrency when physical concurrency doesn't works.
2014-07-03 07:08:07 +02:00
Vicente J. Botet Escriba
c266790b8d
Try to fix phisical_concurrency on PowerPC arch.
2014-06-29 23:48:18 +02:00
Vicente J. Botet Escriba
cb8a4a27bb
Throw if malloc fails.
2014-05-31 18:19:43 +02:00
Vicente J. Botet Escriba
54646e9959
Added sleep_for/until with no interruption point.
2014-02-16 23:33:03 +01:00
Tim Blechmann
ae831efe08
thread: physical_concurrency - work around getline issue in libc++
...
[SVN r86216]
2013-10-09 15:25:31 +00:00
Tim Blechmann
fc65611e82
Revert "Thread: provide physical concurrency conditional until it no regression is introduced."
...
This reverts commit 271ba281aecd5c556b2b863a9f05a8066e717854.
[SVN r86215]
2013-10-09 15:24:58 +00:00
Vicente J. Botet Escriba
4a63d4992c
Thread: provide physical concurrency conditional until it no regression is introduced.
...
[SVN r85926]
2013-09-26 06:54:33 +00:00
Tim Blechmann
04e3d918fb
thread: implement physical_concurrency
...
[SVN r85864]
2013-09-24 06:41:24 +00:00
Vicente J. Botet Escriba
ed6459ecd2
Thread: make code uniform heap_new/heap_delete pairwise.
...
[SVN r85840]
2013-09-22 22:22:08 +00:00
Vicente J. Botet Escriba
5c78582794
Thread: refactor make_ready_at_thread_exit + inhibit at_thread_exit functions from external threads.
...
[SVN r85732]
2013-09-17 20:57:46 +00:00
Vicente J. Botet Escriba
21b2bbc8ca
Thread: make use of atomic on the header of once_atomic to avoid not needed cast that report some warnings.
...
[SVN r82905]
2013-02-15 17:05:49 +00:00
Vicente J. Botet Escriba
65416bb8b6
Thread: make the pthread binary to don't depend on shared_mutex.hpp + #7982
...
[SVN r82757]
2013-02-06 06:40:30 +00:00
Vicente J. Botet Escriba
e72184e9ee
Thread: Added atomic once implementation + variadi call_once for pthread
...
[SVN r82513]
2013-01-16 21:49:59 +00:00
Vicente J. Botet Escriba
a50176c259
Thread: rollback default version 3 change.
...
[SVN r82302]
2012-12-31 15:10:17 +00:00
Vicente J. Botet Escriba
c8edd6c795
Thread: minor refactorings
...
[SVN r81842]
2012-12-10 22:02:16 +00:00
Vicente J. Botet Escriba
593e9e0f2f
Thread: fix shared_ptr implicit conversion to bool introduced in [81780]
...
[SVN r81788]
2012-12-08 11:01:15 +00:00