edg_wll_FreeContext(ctx);
- printf("Thread %d exitting\n",(int)pthread_self());
+// printf("Thread %d exitting\n",(int)pthread_self());
pthread_exit(NULL);
- printf("Thread %d out !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n",(int)pthread_self());
-// return 0;
}
int main(int argc,char **argv)
{
- #define NUM_THREADS 10
+ #define NUM_THREADS 60
thread_code_args arguments = { NULL , 0 , NULL };
int i,rc,status;
pthread_attr_destroy(&attr);
for (i=0;i<NUM_THREADS;i++) {
- printf("*** Joining thread %d.\n",i);
+// printf("*** Joining thread %d.\n",i);
rc=pthread_join(threads[i],(void **)&status);
- printf("*** Thread %d joined. (status %d ret. code %d)\n",i,status,rc);
+// printf("*** Thread %d joined. (status %d ret. code %d)\n",i,status,rc);
}
cIndex = *conn_index;
assert(ctx->connections->connOpened);
- assert(cIndex < ctx->connections->connOpened);
+// assert(cIndex < ctx->connections->connOpened); // Assertion no longer valid. "Holes" in the pool are permitted.
edg_wll_gss_close(&ctx->connections->connPool[cIndex].gss, &ctx->p_tmp_timeout);
if (ctx->connections->connPool[cIndex].gsiCred)
assert(connToUse >= 0);
gettimeofday(&ctx->connections->connPool[connToUse].lastUsed, NULL);
- sleep(3); //Just for testing
+// sleep(3); //Just for testing
edg_wll_connectionUnlock(ctx, connToUse);
return 0;