X-Git-Url: https://git.harvie.cz/?a=blobdiff_plain;f=c%2Fpthread_extra%2Fpthread_user_data.c;h=74ae1145c46511d7ed34021ee678fae8b1dede94;hb=46a7758b58eeff9b507e6e173b03b7fd909e22c3;hp=cf97a652f6d1c973aa06f9920c2e0643cb17ae63;hpb=9b4be8e8c190f7734a7611c2f354e2616e0f2c2f;p=mirrors%2FPrograms.git diff --git a/c/pthread_extra/pthread_user_data.c b/c/pthread_extra/pthread_user_data.c index cf97a65..74ae114 100644 --- a/c/pthread_extra/pthread_user_data.c +++ b/c/pthread_extra/pthread_user_data.c @@ -1,5 +1,6 @@ #define __PTHREAD_EXTRA_INTERNAL +//#include #include #include #include @@ -10,13 +11,13 @@ pthread_user_data_internal_t pthread_user_data[PTHREAD_XTHREADS_MAX+1] = {{.tid= pthread_mutex_t pthread_user_data_mutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP; int pthread_user_data_lock() { - pthread_pause_disable(); + //pthread_pause_disable(); return pthread_mutex_lock(&pthread_user_data_mutex); } int pthread_user_data_unlock() { pthread_mutex_unlock(&pthread_user_data_mutex); - pthread_pause_enable(); + //pthread_pause_enable(); return 0; } @@ -36,6 +37,8 @@ pthread_user_data_internal_t* pthread_user_data_internal(pthread_t thread) { if(pthread_equal(pthread_user_data[i].tid, PTHREAD_XNULL)) { pthread_user_data[i+1].tid = PTHREAD_XNULL; pthread_user_data[i].tid = thread; + pthread_user_data[i].running = 1; //NEW THREADS ARE RUNNING UNLESS PAUSED! + //printf("ADDED %lu = %lu\n", pthread_user_data[i].tid, thread); break; } if(pthread_equal(pthread_user_data[i].tid, thread)) break;