]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
ITS#8958 rename ldap_pvt_thread_pool_pausecheck()
authorHoward Chu <hyc@openldap.org>
Thu, 5 Aug 2021 14:50:27 +0000 (15:50 +0100)
committerQuanah Gibson-Mount <quanah@openldap.org>
Thu, 12 Aug 2021 18:59:06 +0000 (18:59 +0000)
to ..._pausewait() since that's what it really does.
Add ..._pausequery() that only checks and doesn't wait.

include/ldap_pvt_thread.h
libraries/libldap/tpool.c
servers/slapd/overlays/accesslog.c
servers/slapd/overlays/syncprov.c
servers/slapd/syncrepl.c

index c0cfe9c76114c9142ebdc3542f69429b1e2add7c..be763d9a9c60e57a235beb82f811526dbb9e3476 100644 (file)
@@ -279,7 +279,11 @@ ldap_pvt_thread_pool_unidle LDAP_P((
        ldap_pvt_thread_pool_t *pool ));
 
 LDAP_F( int )
-ldap_pvt_thread_pool_pausecheck LDAP_P((
+ldap_pvt_thread_pool_pausequery LDAP_P((
+       ldap_pvt_thread_pool_t *pool ));
+
+LDAP_F( int )
+ldap_pvt_thread_pool_pausewait LDAP_P((
        ldap_pvt_thread_pool_t *pool ));
 
 LDAP_F( int )
index 1bc5e3afa88671f00b610e1b515853ab855b7388..a98b359c028daee52b5e4803ae41fd9f4146bf57 100644 (file)
@@ -1236,11 +1236,26 @@ ldap_pvt_thread_pool_unidle( ldap_pvt_thread_pool_t *tpool )
  * Return 1 if we waited, 0 if not, -1 at parameter error.
  */
 int
-ldap_pvt_thread_pool_pausecheck( ldap_pvt_thread_pool_t *tpool )
+ldap_pvt_thread_pool_pausewait( ldap_pvt_thread_pool_t *tpool )
 {
        return handle_pause(tpool, PAUSE_ARG(CHECK_PAUSE));
 }
 
+/* Return 1 if a pause has been requested */
+int
+ldap_pvt_thread_pool_pausequery( ldap_pvt_thread_pool_t *tpool )
+{
+       struct ldap_int_thread_pool_s *pool;
+       if ( !tpool )
+               return -1;
+
+       pool = *tpool;
+       if ( !pool )
+               return 0;
+
+       return pool->ltp_pause != 0;
+}
+
 /*
  * Wait for a pause, from a non-pooled thread.
  */
index 1916f61a905f0c4b909dc82514cdfbcf9f0ffcf1..e0803bd4c70e63ca3c5ea86beadc97d9050a6b71 100644 (file)
@@ -765,7 +765,7 @@ accesslog_purge( void *ctx, void *arg )
                        }
                        ch_free( pd.ndn[i].bv_val );
                        ch_free( pd.dn[i].bv_val );
-                       ldap_pvt_thread_pool_pausecheck( &connection_pool );
+                       ldap_pvt_thread_pool_pausewait( &connection_pool );
                }
                ch_free( pd.ndn );
                ch_free( pd.dn );
index 47e60f61c3f328c6db89c138f1160ee0ce12caf4..db0b9a2f82cf2bee190a38b4c7b568afb66dd2b0 100644 (file)
@@ -2723,7 +2723,7 @@ retry:
                                if ( slapd_shutdown )
                                        return SLAPD_ABANDON;
 
-                               if ( !ldap_pvt_thread_pool_pausecheck( &connection_pool ))
+                               if ( !ldap_pvt_thread_pool_pausewait( &connection_pool ))
                                        ldap_pvt_thread_yield();
                                ldap_pvt_thread_mutex_lock( &mt->mt_mutex );
 
@@ -3112,7 +3112,7 @@ syncprov_op_search( Operation *op, SlapReply *rs )
                                ch_free( sop );
                                return SLAPD_ABANDON;
                        }
-                       if ( !ldap_pvt_thread_pool_pausecheck( &connection_pool ))
+                       if ( !ldap_pvt_thread_pool_pausewait( &connection_pool ))
                                ldap_pvt_thread_yield();
                        ldap_pvt_thread_mutex_lock( &si->si_ops_mutex );
                }
index cad636b0fafc8c98370f20e403abf7e8e7f4c3e4..3565961c356e0e85d73625f585b40be1b478bdce 100644 (file)
@@ -1210,7 +1210,7 @@ get_pmutex(
                while ( ldap_pvt_thread_mutex_trylock( &si->si_cookieState->cs_pmutex )) {
                        if ( slapd_shutdown )
                                return SYNC_SHUTDOWN;
-                       if ( !ldap_pvt_thread_pool_pausecheck( &connection_pool ))
+                       if ( !ldap_pvt_thread_pool_pausewait( &connection_pool ))
                                ldap_pvt_thread_yield();
                }
        }
@@ -1972,7 +1972,7 @@ do_syncrepl(
        while ( ldap_pvt_thread_mutex_trylock( &si->si_mutex )) {
                if ( slapd_shutdown )
                        return NULL;
-               if ( !ldap_pvt_thread_pool_pausecheck( &connection_pool ))
+               if ( !ldap_pvt_thread_pool_pausewait( &connection_pool ))
                        ldap_pvt_thread_yield();
        }