From 7204622be65c4d8848a9e90aa418b43c648dbeb2 Mon Sep 17 00:00:00 2001 From: josh Date: Fri, 26 Sep 2008 23:11:07 +0000 Subject: [PATCH] changed arg into pointer to int git-svn-id: svn://anubis/gvsu@172 45c1a28c-8058-47b2-ae61-ca45b979098e --- cs677/pa2/threaded.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/cs677/pa2/threaded.cc b/cs677/pa2/threaded.cc index 0bd40b1..edca7ca 100644 --- a/cs677/pa2/threaded.cc +++ b/cs677/pa2/threaded.cc @@ -96,7 +96,9 @@ int main(int argc, char * argv[]) for (int i = 0; i < num_threads; i++) { - int ret = pthread_create(&threads[i], NULL, &calcSimMatrixThread, (void *) i); + int * arg = new int; + *arg = i; + int ret = pthread_create(&threads[i], NULL, &calcSimMatrixThread, arg); if (ret) { cerr << "Error " << ret << " when creating thread!" << endl; @@ -134,7 +136,8 @@ bool readFile(char * fileName, vector & v) /* Compute portions of the similarity matrix between two character arrays */ void * calcSimMatrixThread(void * arg) { - int id = (int) arg; + int * realarg = (int *) arg; + int id = *realarg; int s_size = s->size(); int t_size = t->size(); int (*F)[s_size][t_size] = (int (*) [s_size][t_size]) matrix; @@ -187,5 +190,6 @@ void * calcSimMatrixThread(void * arg) cout << "Maximum value is " << max_val << " at position (" << max_x << ", " << max_y << ")" << endl; + delete realarg; return NULL; }