@@ -28,6 +28,7 @@ ds3_connection_pool* ds3_connection_pool_init(void) {
2828}
2929
3030ds3_connection_pool * ds3_connection_pool_init_with_size (uint16_t pool_size ) {
31+ printf ("ds3_connection_pool_init_with_size(%u)\n" , pool_size );
3132 ds3_connection_pool * pool = g_new0 (ds3_connection_pool , 1 );
3233 pool -> connections = g_new0 (ds3_connection * , pool_size );
3334 pool -> num_connections = pool_size ;
@@ -38,6 +39,7 @@ ds3_connection_pool* ds3_connection_pool_init_with_size(uint16_t pool_size) {
3839}
3940
4041void ds3_connection_pool_clear (ds3_connection_pool * pool , ds3_bool already_locked ) {
42+ printf ("ds3_connection_pool_clear(%s)\n" , (already_locked ? "locked" : "not locked" ));
4143 int index ;
4244
4345 if (pool == NULL ) {
@@ -61,14 +63,17 @@ void ds3_connection_pool_clear(ds3_connection_pool* pool, ds3_bool already_locke
6163}
6264
6365static int _pool_inc (int index , uint16_t num_connections ) {
66+ printf ("_pool_inc(%d, %u) :[%d]\n" , index , num_connections , (index + 1 ) % num_connections );
6467 return (index + 1 ) % num_connections ;
6568}
6669
6770static int _pool_full (ds3_connection_pool * pool ) {
71+ printf ("_pool_full(): head[%d] tail[%d] : [%d]\n" , pool -> head , pool -> tail , (_pool_inc (pool -> head , pool -> num_connections ) == pool -> tail ) );
6872 return (_pool_inc (pool -> head , pool -> num_connections ) == pool -> tail );
6973}
7074
7175ds3_connection * ds3_connection_acquire (ds3_connection_pool * pool ) {
76+ printf ("ds3_connection_acquire() BEGIN: head[%d] tail[%d]\n" , pool -> head , pool -> tail );
7277 ds3_connection * connection = NULL ;
7378
7479 g_mutex_lock (& pool -> mutex );
@@ -87,17 +92,20 @@ ds3_connection* ds3_connection_acquire(ds3_connection_pool* pool) {
8792
8893 g_mutex_unlock (& pool -> mutex );
8994
95+ printf ("ds3_connection_acquire() END: head[%d] tail[%d]\n" , pool -> head , pool -> tail );
9096 return connection ;
9197}
9298
9399void ds3_connection_release (ds3_connection_pool * pool , ds3_connection * connection ) {
100+ printf ("ds3_connection_release() BEGIN: head[%d] tail[%d]\n" , pool -> head , pool -> tail );
94101 g_mutex_lock (& pool -> mutex );
95102
96103 curl_easy_reset (connection );
97104 pool -> tail = _pool_inc (pool -> tail , pool -> num_connections );
98105
99106 g_mutex_unlock (& pool -> mutex );
100107 g_cond_signal (& pool -> available_connections );
108+ printf ("ds3_connection_release() END: head[%d] tail[%d]\n" , pool -> head , pool -> tail );
101109}
102110
103111void ds3_connection_pool_inc_ref (ds3_connection_pool * pool ) {
0 commit comments