version 1.303, 2009/11/22 03:42:00
|
version 1.304, 2009/11/22 03:43:34
|
Line 1
|
Line 1
|
/* $OpenLDAP: pkg/ldap/servers/slapd/overlays/syncprov.c,v 1.302 2009/11/21 10:54:59 hyc Exp $ */ |
/* $OpenLDAP: pkg/ldap/servers/slapd/overlays/syncprov.c,v 1.303 2009/11/22 03:42:00 hyc Exp $ */ |
/* syncprov.c - syncrepl provider */ |
/* syncprov.c - syncrepl provider */ |
/* This work is part of OpenLDAP Software <http://www.openldap.org/>. |
/* This work is part of OpenLDAP Software <http://www.openldap.org/>. |
* |
* |
Line 981 syncprov_qtask( void *ctx, void *arg )
|
Line 981 syncprov_qtask( void *ctx, void *arg )
|
Operation *op; |
Operation *op; |
BackendDB be; |
BackendDB be; |
int rc; |
int rc; |
|
OpExtra oex; |
|
|
op = &opbuf.ob_op; |
op = &opbuf.ob_op; |
*op = *so->s_op; |
*op = *so->s_op; |
Line 999 syncprov_qtask( void *ctx, void *arg )
|
Line 1000 syncprov_qtask( void *ctx, void *arg )
|
be.be_flags |= SLAP_DBFLAG_OVERLAY; |
be.be_flags |= SLAP_DBFLAG_OVERLAY; |
op->o_bd = &be; |
op->o_bd = &be; |
LDAP_SLIST_FIRST(&op->o_extra) = NULL; |
LDAP_SLIST_FIRST(&op->o_extra) = NULL; |
|
|
|
/* Let syncprov_operational know it's us */ |
|
oex.oe_key = (void *)syncprov_qtask; |
|
LDAP_SLIST_INSERT_HEAD(&op->o_extra, &oex, oe_next); |
|
|
op->o_callback = NULL; |
op->o_callback = NULL; |
|
|
rc = syncprov_qplay( op, so ); |
rc = syncprov_qplay( op, so ); |
Line 2631 syncprov_operational(
|
Line 2637 syncprov_operational(
|
{ |
{ |
slap_overinst *on = (slap_overinst *)op->o_bd->bd_info; |
slap_overinst *on = (slap_overinst *)op->o_bd->bd_info; |
syncprov_info_t *si = (syncprov_info_t *)on->on_bi.bi_private; |
syncprov_info_t *si = (syncprov_info_t *)on->on_bi.bi_private; |
|
OpExtra *oex; |
|
|
|
/* short-circuit, don't want backends handling this */ |
|
LDAP_SLIST_FOREACH(oex, &op->o_extra, oe_next) { |
|
if ( oex->oe_key == (void *)syncprov_qtask ) |
|
return LDAP_SUCCESS; |
|
} |
|
|
/* This prevents generating unnecessarily; frontend will strip |
/* This prevents generating unnecessarily; frontend will strip |
* any statically stored copy. |
* any statically stored copy. |