Update license date on all files. No functional changes.
Add some mutex debugging checks (notably for trashed data structures).
Improved EP_THR_MUTEX debugging.
Include __BEGIN_DECLS and __END_DECLS (i.e., extern "C" blocks) to play
well with C++.
Make ep_thr_gettid produce something useful to developers (with a
semantic change) and include EP_THR_PRItid for printing.
SNAPSHOT: fewer race conditions; still need more testing.
Make Helgrind annotations work properly for (most?) race conditions.
Fix minor typo in assertion code that is compiled out most of the time anyway.
Cleanup (and hopefully simplification) of assertion subsystem. Lots of
changes, but nothing particularly obtuse.
Repairs for some compilation issues.
Add static initializer with lock ordering.
Add debugging to check for mutex ordering. It isn't perfect, and it
does require manually deciding on lock ordering.
Improve extended mutex debugging and default it on for now. It should
get turned off before release.
Change EP_ASSERT_MUTEX_IS(UN)?LOCKED to EP_THR_MUTEX_ASSERT_IS(UN)LOCKED
for consistency with other routine names.
Avoid subroutine calls if not doing extended locking checks.
More mutex debugging (Linux only)
Move GDP_ASSERT_MUTEX_IS[UN]LOCKED into EP library; this implementation
is much less portable and relies on peeking into the secret mutex data,
but has the advantage that it seems to work. Also improves some of the
lock debugging output to add more information.
Update licenses to 2017.
Add ep_thr_mutex_tryunlock function. Identical to ep_thr_mutex_unlock
except EAGAIN (mutex was not locked) doesn't print an error.
Improved diagnostics in ep_thr primitives.
Improvements to thread pool (for debugging)
Substantially improve ep_thr debugging. RECOMPILE REQUIRED! The ABI
Update license. No code changes.
Include copyright in all files. There are scripts to do bulk
replacement of the copyright if desired.
Change ep_thr_cond_wait and gdp_event_next to take timeout parameters
(NULL = forever). THESE CHANGE THE API!!
No need for multiple thread pools --- simplify the API.
Improved debugging, notably for mutexes.
Another snapshot. Much closer to having subscriptions working.
Basics appear to be working; still have some problems in gdpd_phys.
Merge branch 'gdp-multithread'
Change ep.h include to ep/ep.h in ep_thr.h
Slight interface changes; added comments.
First cut at multithreading the EP library.