version 1.29, 2004/11/27 14:08:25
|
version 1.30, 2004/11/27 15:05:49
|
Line 1587 syncprov_db_config(
|
Line 1587 syncprov_db_config(
|
typedef struct thread_keys { |
typedef struct thread_keys { |
void *key; |
void *key; |
void *data; |
void *data; |
ldap_pvt_thread_pool_keyfree_t *free; |
ldap_pvt_thread_pool_keyfree_t *xfree; |
} thread_keys; |
} thread_keys; |
|
|
|
#define MAXKEYS 32 |
/* A fake thread context */ |
/* A fake thread context */ |
static thread_keys thrctx[8]; |
static thread_keys thrctx[MAXKEYS]; |
|
|
/* Read any existing contextCSN from the underlying db. |
/* Read any existing contextCSN from the underlying db. |
* Then search for any entries newer than that. If no value exists, |
* Then search for any entries newer than that. If no value exists, |
Line 1663 syncprov_db_close(
|
Line 1664 syncprov_db_close(
|
syncprov_checkpoint( op, &rs, on ); |
syncprov_checkpoint( op, &rs, on ); |
} |
} |
for ( i=0; thrctx[i].key; i++) { |
for ( i=0; thrctx[i].key; i++) { |
if ( thrctx[i].free ) |
if ( thrctx[i].xfree ) |
thrctx[i].free( thrctx[i].key, thrctx[i].data ); |
thrctx[i].xfree( thrctx[i].key, thrctx[i].data ); |
|
thrctx[i].key = NULL; |
} |
} |
|
|
return 0; |
return 0; |