summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <brian@zim.(none)>2007-03-16 19:06:10 -0700
committerunknown <brian@zim.(none)>2007-03-16 19:06:10 -0700
commitdcd672e2d7f8fcf7d21c01e58e6b32e88f06066f (patch)
tree94c263267d46084f33a7bb2302b0baaf1ebfadd4
parentf7e30b0599af30f0d5f60b04b95e8b515f244c64 (diff)
parentc554f58ca15e61cf23a5854d6c653426b29f5961 (diff)
downloadmariadb-git-dcd672e2d7f8fcf7d21c01e58e6b32e88f06066f.tar.gz
Merge zim.(none):/home/bk/mysql-5.1-arch
into zim.(none):/home/brian/mysql/slap-5.1
-rw-r--r--client/mysqlslap.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/client/mysqlslap.c b/client/mysqlslap.c
index 1b4692848b9..62ee2b03359 100644
--- a/client/mysqlslap.c
+++ b/client/mysqlslap.c
@@ -248,7 +248,7 @@ static int create_schema(MYSQL *mysql, const char *db, statement *stmt,
option_string *engine_stmt);
static int run_scheduler(stats *sptr, statement *stmts, uint concur,
ulonglong limit);
-int run_task(thread_context *con);
+pthread_handler_t run_task(void *p);
void statement_cleanup(statement *stmt);
void option_cleanup(option_string *stmt);
void concurrency_loop(MYSQL *mysql, uint current, option_string *eptr);
@@ -1562,6 +1562,11 @@ run_scheduler(stats *sptr, statement *stmts, uint concur, ulonglong limit)
pthread_t mainthread; /* Thread descriptor */
pthread_attr_t attr; /* Thread attributes */
+ pthread_attr_init(&attr);
+ pthread_attr_setdetachstate(&attr,
+ PTHREAD_CREATE_DETACHED);
+
+
pthread_mutex_lock(&counter_mutex);
thread_counter= 0;
@@ -1570,12 +1575,8 @@ run_scheduler(stats *sptr, statement *stmts, uint concur, ulonglong limit)
pthread_mutex_unlock(&sleeper_mutex);
for (x= 0; x < concur; x++)
{
- pthread_attr_init(&attr);
- pthread_attr_setdetachstate(&attr,
- PTHREAD_CREATE_DETACHED);
-
- /* now create the thread */
- if (pthread_create(&mainthread, &attr, (void *)run_task,
+ /* nowucreate the thread */
+ if (pthread_create(&mainthread, &attr, run_task,
(void *)&con) != 0)
{
fprintf(stderr,"%s: Could not create thread\n",
@@ -1605,6 +1606,7 @@ run_scheduler(stats *sptr, statement *stmts, uint concur, ulonglong limit)
pthread_cond_timedwait(&count_threshhold, &counter_mutex, &abstime);
}
pthread_mutex_unlock(&counter_mutex);
+ pthread_attr_destroy(&attr);
gettimeofday(&end_time, NULL);
@@ -1617,14 +1619,14 @@ run_scheduler(stats *sptr, statement *stmts, uint concur, ulonglong limit)
}
-int
-run_task(thread_context *con)
+pthread_handler_t run_task(void *p)
{
ulonglong counter= 0, queries;
MYSQL *mysql;
MYSQL_RES *result;
MYSQL_ROW row;
statement *ptr;
+ thread_context *con= (thread_context *)p;
DBUG_ENTER("run_task");
DBUG_PRINT("info", ("task script \"%s\"", con->stmt ? con->stmt->string : ""));