Commit Graph

25269 Commits

Author SHA1 Message Date
Nick Mathewson ec99f038fa Improve the keypin failure message
Closes the human-factors part of ticket 22348.
2017-07-31 20:40:23 -04:00
Nick Mathewson 2cb8c8d99f Bump to 0.3.1.5-alpha 2017-07-31 14:29:33 -04:00
Nick Mathewson eb677c5870 Fix an unreachable memory leak in the unit tests
This is CID 1415726.
2017-07-28 09:52:34 -04:00
Nick Mathewson 911e2dc530 Merge branch 'bug23053_029' into maint-0.3.1 2017-07-28 09:50:16 -04:00
Nick Mathewson 9a0f38a349 Fix a small memory leak when parsing unix: ports twice
Fixes bug 23053; CID 1415725.
2017-07-28 09:49:42 -04:00
Nick Mathewson af3079a492 Try to work around a compile warning in workqueue.c 2017-07-27 20:32:59 -04:00
Nick Mathewson ba334c00da Merge branch 'multi-priority_squashed' into maint-0.3.1 2017-07-27 16:29:34 -04:00
Nick Mathewson fdd8156ea3 Fix the cpuworker.c documentation to mention all the kinds of work 2017-07-27 16:28:59 -04:00
Nick Mathewson f5a852de91 Note that threadpool_queue_work...() can't actually return NULL 2017-07-27 16:28:59 -04:00
Nick Mathewson 250c88014d Always start with one additional worker thread
Now that half the threads are permissive and half are strict, we
need to make sure we have at least two threads, so that we'll
have at least one of each kind.
2017-07-27 16:28:59 -04:00
Nick Mathewson 0ae0b5aa41 Queue consensus diffs at LOW priority.
Fixes bug 22883.
2017-07-27 16:28:59 -04:00
Nick Mathewson bddea78ded Fix a pair of stale comments in workqueue.c
These comments said that each thread had a separate queue, but we
haven't been using that design for some while.
2017-07-27 16:28:59 -04:00
Nick Mathewson efadebf7c3 Make the chance for priority inversion thread-specific
Instead of choosing a lower-priority job with a 1/37 chance, have
the chance be 1/37 for half the threads, and 1/2147483647 for the
other half.  This way if there are very slow jobs of low priority,
they shouldn't be able to grab all the threads when there is better
work to do.
2017-07-27 16:28:59 -04:00
Nick Mathewson 10e0bff4ca Add support for multi-priority workqueues
Each piece of queued work now has an associated priority value; each
priority goes on a separate queue.

With probability (N-1)/N, the workers will take work from the highest
priority nonempty queue.  Otherwise, they'll look for work in a
queue of lower priority.  This behavior is meant to prevent
starvation for lower-priority tasks.
2017-07-27 16:28:05 -04:00
Nick Mathewson ced2dd5f92 Merge branch 'maint-0.3.0' into maint-0.3.1 2017-07-27 08:23:37 -04:00
Nick Mathewson ad35e595e5 Merge branch 'maint-0.2.9' into maint-0.3.0 2017-07-27 08:23:36 -04:00
Nick Mathewson 24ddf5862e Merge remote-tracking branch 'public/bug20247_029' into maint-0.2.9 2017-07-27 08:23:34 -04:00
Nick Mathewson 1c5a76f0ce Merge branch 'maint-0.3.0' into maint-0.3.1 2017-07-26 15:39:56 -04:00
Nick Mathewson 7021d33b91 Merge branch 'maint-0.2.9' into maint-0.3.0 2017-07-26 15:39:56 -04:00
Nick Mathewson f17f7a4fdf Merge branch 'maint-0.2.8' into maint-0.2.9 2017-07-26 15:39:55 -04:00
Nick Mathewson 5c5eb0f095 Merge branch 'maint-0.2.7-redux' into maint-0.2.8 2017-07-26 15:39:55 -04:00
Nick Mathewson ddd66cc019 Merge branch 'maint-0.2.6' into maint-0.2.7-redux 2017-07-26 15:39:55 -04:00
Nick Mathewson f794b40ec0 Merge branch 'maint-0.2.5' into maint-0.2.6 2017-07-26 15:39:55 -04:00
Nick Mathewson af39c13a03 Merge branch 'maint-0.2.4' into maint-0.2.5 2017-07-26 15:39:55 -04:00
Nick Mathewson ebb441ded2 Point travis to #tor-ci, not #tor-bots 2017-07-26 15:39:50 -04:00
Nick Mathewson ebb0ac3385 Merge remote-tracking branch 'isis/bug22636_0.3.1_squashed' into maint-0.3.1 2017-07-26 15:38:23 -04:00
Nick Mathewson 1a907c6593 Merge branch 'maint-0.3.0' into maint-0.3.1
This is an "ours" merge to avoid taking any changs from maint-0.3.0:
we don't want to take the travis file, since there is a separate branch
for putting it in 0.3.1 and later.
2017-07-26 15:37:53 -04:00
Nick Mathewson cc4c1840a6 Merge branch 'maint-0.2.9' into maint-0.3.0 2017-07-26 15:37:06 -04:00
Nick Mathewson f226d6460d Travis update: "gcc-warnings" became "fatal-warnings" in 0.2.9 2017-07-26 15:37:00 -04:00
Nick Mathewson dcc477cb53 Merge branch 'maint-0.2.8' into maint-0.2.9 2017-07-26 15:35:17 -04:00
Nick Mathewson fbf93614c9 Merge branch 'maint-0.2.7-redux' into maint-0.2.8 2017-07-26 15:35:07 -04:00
Nick Mathewson c362c6a852 Merge branch 'maint-0.2.6' into maint-0.2.7-redux 2017-07-26 15:35:01 -04:00
Nick Mathewson 0ad5a6b034 Merge branch 'maint-0.2.5' into maint-0.2.6 2017-07-26 15:34:56 -04:00
Nick Mathewson 09618bc488 Merge branch 'maint-0.2.4' into maint-0.2.5 2017-07-26 15:34:40 -04:00
Nick Mathewson 431c8d09ee Merge branch 'maint-0.3.0' into maint-0.3.1 2017-07-26 12:58:22 -04:00
Nick Mathewson 18734d3b25 Merge branch 'maint-0.2.9' into maint-0.3.0 2017-07-26 12:58:22 -04:00
Nick Mathewson 0117e2ea0d Merge branch 'bug23030_029_v2' into maint-0.2.9 2017-07-26 12:58:17 -04:00
Nick Mathewson 32b9edeb91 Fix build warnings from Coverity related to our BUG macro
In the Linux kernel, the BUG() macro causes an instant panic.  Our
BUG() macro is different, however: it generates a nonfatal assertion
failure, and is usable as an expression.

Additionally, this patch tells util_bug.h to make all assertion
failures into fatal conditions when we're building with a static
analysis tool, so that the analysis tool can look for instances
where they're reachable.

Fixes bug 23030.
2017-07-26 12:57:49 -04:00
Nick Mathewson 30a98c765f Merge branch 'bug22927_031' into maint-0.3.1 2017-07-26 12:54:37 -04:00
Nick Mathewson 3c017e823b Merge branch 'maint-0.2.9' into maint-0.3.0 2017-07-26 12:53:38 -04:00
Nick Mathewson d068f3359f Merge branch 'maint-0.3.0' into maint-0.3.1 2017-07-26 12:53:38 -04:00
Nick Mathewson 6d3c5b8fb5 Merge branch 'bug22915_029_2' into maint-0.2.9 2017-07-26 12:53:13 -04:00
Nick Mathewson fca1934c88 Suppress clang4-specific -Wdouble-promotion warnings
Wow, it sure seems like some compilers can't implement isnan() and
friends in a way that pleases themselves!

Fixes bug 22915. Bug trigged by 0.2.8.1-alpha and later; caused by
clang 4.
2017-07-26 12:53:00 -04:00
Isis Lovecruft 6d0af8dacc In < 0.2.9.x, --enable-fatal-warnings was --enable-gcc-warnings. 2017-07-25 01:03:15 +00:00
Isis Lovecruft 810bbb7911 Builds on CI should use --enable-fragile-hardening.
(cherry picked from commit c91a57ccf90308c6728184b43519f96b61acb95d)
2017-07-25 00:58:00 +00:00
Isis Lovecruft 1d42316f49 Only install Rust in CI if RUST_OPTIONS is set.
(cherry picked from commit e5dd07a4c64fd2a4132ab1f6dec64640a95da35e)
2017-07-25 00:57:55 +00:00
Isis Lovecruft c84d394176 Install optional dependencies during Travis CI builds.
(cherry picked from commit 1bb00fb812c0df7a574ed62e9f53b0e8192c7d04)
2017-07-25 00:57:41 +00:00
Isis Lovecruft f18205f2e1 Fix CI homebrew checks for outdated packages.
(cherry picked from commit 8f8689f70235dc19cbc5092ea148af5772a9cdc3)
2017-07-25 00:57:32 +00:00
Isis Lovecruft c718644251 Builds on CI should use --enable-fragile-hardening.
(cherry picked from commit c91a57ccf90308c6728184b43519f96b61acb95d)
2017-07-25 00:54:11 +00:00
Isis Lovecruft f2e3d13930 Install optional dependencies during Travis CI builds.
(cherry picked from commit 1bb00fb812c0df7a574ed62e9f53b0e8192c7d04)
2017-07-25 00:54:01 +00:00