diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2015-02-17 17:25:57 +0000 |
---|---|---|
committer | <> | 2015-03-17 16:26:24 +0000 |
commit | 780b92ada9afcf1d58085a83a0b9e6bc982203d1 (patch) | |
tree | 598f8b9fa431b228d29897e798de4ac0c1d3d970 /lang/sql/sqlite/src/test_server.c | |
parent | 7a2660ba9cc2dc03a69ddfcfd95369395cc87444 (diff) | |
download | berkeleydb-master.tar.gz |
Diffstat (limited to 'lang/sql/sqlite/src/test_server.c')
-rw-r--r-- | lang/sql/sqlite/src/test_server.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/lang/sql/sqlite/src/test_server.c b/lang/sql/sqlite/src/test_server.c index ed0818e6..4eb1cf19 100644 --- a/lang/sql/sqlite/src/test_server.c +++ b/lang/sql/sqlite/src/test_server.c @@ -473,6 +473,32 @@ void sqlite3_server_start(void){ } /* +** A wrapper around sqlite3_server() that decrements the int variable +** pointed to by the first argument after the sqlite3_server() call +** returns. +*/ +static void *serverWrapper(void *pnDecr){ + void *p = sqlite3_server(0); + (*(int*)pnDecr)--; + return p; +} + +/* +** This function is the similar to sqlite3_server_start(), except that +** the integer pointed to by the first argument is decremented when +** the server thread exits. +*/ +void sqlite3_server_start2(int *pnDecr){ + pthread_t x; + int rc; + g.serverHalt = 0; + rc = pthread_create(&x, 0, serverWrapper, (void*)pnDecr); + if( rc==0 ){ + pthread_detach(x); + } +} + +/* ** If a server thread is running, then stop it. If no server is ** running, this routine is effectively a no-op. ** |