commit 7f982a0ba2f46c9f0a6c8e5b6ed25b0dd1d960bd
Author: Mike Perry <mikeperry-git(a)torproject.org>
Date: Tue Aug 4 13:23:26 2015 -0700
Update release process for #15864.
Also add a step to verify gpg sigs on mirror transfer.
---
processes/ReleaseProcess | 21 +++++++--------------
1 file changed, 7 insertions(+), 14 deletions(-)
diff --git a/processes/ReleaseProcess b/processes/ReleaseProcess
index b25764a..b4dca6a 100644
--- a/processes/ReleaseProcess
+++ b/processes/…
[View More]ReleaseProcess
@@ -49,8 +49,11 @@
for i in gk linus mikeperry boklm
do
if [ -d ${TORBROWSER_BUILDDIR}/$i ]; then
- if [ -f ${TORBROWSER_BUILDDIR}/${i}/sha256sums.txt.asc ]; then
- cp ${TORBROWSER_BUILDDIR}/$i/sha256sums.txt.asc ${TORBROWSER_BUILDDIR}/sha256sums.txt-${i}.asc
+ if [ -f ${TORBROWSER_BUILDDIR}/${i}/sha256sums-unsigned-build.txt.asc ]; then
+ cp ${TORBROWSER_BUILDDIR}/$i/sha256sums-unsigned-build.txt.asc ${TORBROWSER_BUILDDIR}/sha256sums-unsigned-build.txt-${i}.asc
+ fi
+ if [ -f ${TORBROWSER_BUILDDIR}/${i}/sha256sums-unsigned-build.incrementals.txt.asc ]; then
+ cp ${TORBROWSER_BUILDDIR}/$i/sha256sums-unsigned-build.incrementals.txt.asc ${TORBROWSER_BUILDDIR}/sha256sums-unsigned-build.incrementals.txt-${i}.asc
fi
rm -rf ${TORBROWSER_BUILDDIR}/$i
fi
@@ -83,18 +86,6 @@
#. Sign individual bundle files:
# XXX: Document
-
-# XXX: Temporary step to place the sha256sums-presigned-build.txt into place
-# and redirect
- cd $TORBROWSER_VERSION
- echo "RewriteEngine On" > .htaccess
- for i in sha256sums*
- do
- mv $i sha256sums-unsigned-build.${i:11}
- echo "RewriteRule ^$i\$ sha256sums-unsigned-build.${i:11}" >> .htaccess
- done
- cd ..
-
#. Clear out old builds, transfer builds to staticiforme
#. Remote:
# We must use $TORBROWSER_VERSION here because signed result dirs should omit the build number suffix
@@ -107,6 +98,8 @@
eval $( ./get-tb-version release ) # or alpha / beta
# We must use $TORBROWSER_VERSION here because signed result dirs should omit the build number suffix
wget -nH --cut-dirs=2 -r -l 1 https://people.torproject.org/~gk/builds/$TORBROWSER_VERSION
+ # Verify everything was downloaded correctly
+ for i in $TORBROWSER_VERSION/*.asc; do echo $i ; gpg -q $i || break; done
rm $TORBROWSER_VERSION/index.html*
mv $TORBROWSER_VERSION /srv/dist-master.torproject.org/htdocs/torbrowser/
chmod 775 /srv/dist-master.torproject.org/htdocs/torbrowser/$TORBROWSER_VERSION
[View Less]
commit b3ea3c8e2f3f49f2633c5283a886de650e3cec78
Author: cypherpunks <cypherpunks(a)torproject.org>
Date: Thu Jul 23 11:28:31 2015 +0200
Switch order of unblocking threads and releasing the mutex.
According to POSIX, the mutex must be locked by the thread calling the signal
functions to ensure predictable scheduling behavior.
Found the issue using Helgrind which gave the warning `dubious: associated lock
is not held by any thread`.
---
changes/bug16644 …
[View More] | 3 +++
src/common/workqueue.c | 8 ++++----
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/changes/bug16644 b/changes/bug16644
new file mode 100644
index 0000000..f7126bd
--- /dev/null
+++ b/changes/bug16644
@@ -0,0 +1,3 @@
+ o Minor bugfixes (relay):
+ - Unblock threads before releasing the mutex to ensure predictable
+ scheduling behavior. Fixes bug 16644; bugfix on 0.2.6.3-alpha.
diff --git a/src/common/workqueue.c b/src/common/workqueue.c
index 3f9a063..cf63634 100644
--- a/src/common/workqueue.c
+++ b/src/common/workqueue.c
@@ -293,10 +293,10 @@ threadpool_queue_work(threadpool_t *pool,
TOR_TAILQ_INSERT_TAIL(&pool->work, ent, next_work);
- tor_mutex_release(&pool->lock);
-
tor_cond_signal_one(&pool->condition);
+ tor_mutex_release(&pool->lock);
+
return ent;
}
@@ -345,10 +345,10 @@ threadpool_queue_update(threadpool_t *pool,
pool->update_fn = fn;
++pool->generation;
- tor_mutex_release(&pool->lock);
-
tor_cond_signal_all(&pool->condition);
+ tor_mutex_release(&pool->lock);
+
if (old_args) {
for (i = 0; i < n_threads; ++i) {
if (old_args[i] && old_args_free_fn)
[View Less]
commit 57216275179077221978be6bad018d5e4e83c0e2
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Mon Aug 3 13:30:25 2015 -0400
Update doc/HACKING with more coverage instructions
---
doc/HACKING | 19 +++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)
diff --git a/doc/HACKING b/doc/HACKING
index 6a484c9..7ee5cf8 100644
--- a/doc/HACKING
+++ b/doc/HACKING
@@ -164,12 +164,12 @@ investigated (as of July 2014).
Running the unit tests
~~~~~~~~~~~~~~~~~~~~~~
…
[View More]-To quickly run all tests:
+To quickly run all the tests distributed with Tor:
-----
make check
-----
-To run unit tests only:
+To run the fast unit tests only:
-----
make test
-----
@@ -182,6 +182,17 @@ arbitrarily):
./src/test/test :<name_of_excluded_test> [:<name_of_excluded_test2]...
-----
+To run all tests, including those based on Stem or Chutney:
+-----
+ make test-full
+-----
+
+To run all tests, including those basedd on Stem or Chutney that require a
+working connection to the internet:
+-----
+ make test-full-online
+-----
+
Running gcov for unit test coverage
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -189,6 +200,7 @@ Running gcov for unit test coverage
./configure --enable-coverage
make
make check
+ # or--- make test-full ? make test-full-online?
mkdir coverage-output
./scripts/test/coverage coverage-output
-----
@@ -224,6 +236,9 @@ We have the beginnings of a set of scripts to run integration tests using
Chutney. To try them, set CHUTNEY_PATH to your chutney source directory, and
run "make test-network".
+We also have scripts to run integration tests using Stem. To try them, set
+STEM_SOURCE_DIR to your Stem source directory, and run "test-stem".
+
Profiling Tor with oprofile
~~~~~~~~~~~~~~~~~~~~~~~~~~~
[View Less]