diff options
author | Nick Mathewson <nickm@torproject.org> | 2018-07-11 15:36:54 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2018-07-13 12:35:22 -0400 |
commit | d811ce2421dcf1684db7e34f2b5998d9f360d5fb (patch) | |
tree | f914d9ef7ab706dac95279ce4c95f8e8b0fd5535 /src/ext | |
parent | c317e78dd75b6bf9c195c9bef5a0b8300d55411a (diff) | |
download | tor-d811ce2421dcf1684db7e34f2b5998d9f360d5fb.tar.gz tor-d811ce2421dcf1684db7e34f2b5998d9f360d5fb.zip |
Add postfork support for nss
We need this in our unit tests, since otherwise NSS will notice
we've forked and start cussing us out.
I suspect we'll need a different hack for daemonizing, but this
should be enough for tinytest to work.
Diffstat (limited to 'src/ext')
-rw-r--r-- | src/ext/tinytest.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/ext/tinytest.c b/src/ext/tinytest.c index 3fb1b39c71..8b2c71bebf 100644 --- a/src/ext/tinytest.c +++ b/src/ext/tinytest.c @@ -25,6 +25,7 @@ #ifdef TINYTEST_LOCAL #include "tinytest_local.h" #endif +#define TINYTEST_POSTFORK #include <stdio.h> #include <stdlib.h> @@ -118,6 +119,12 @@ testcase_run_bare_(const struct testcase_t *testcase) #ifndef NO_FORKING +#ifdef TINYTEST_POSTFORK +void tinytest_postfork(void); +#else +static void tinytest_postfork(void) { } +#endif + static enum outcome testcase_run_forked_(const struct testgroup_t *group, const struct testcase_t *testcase) @@ -187,6 +194,7 @@ testcase_run_forked_(const struct testgroup_t *group, int test_r, write_r; char b[1]; close(outcome_pipe[0]); + tinytest_postfork(); test_r = testcase_run_bare_(testcase); assert(0<=(int)test_r && (int)test_r<=2); b[0] = "NYS"[test_r]; |