On 12/14/2010 11:29 PM, Carsten Grzemba wrote:
I have the  code copied unchanged  from winsync-plugin.h where the slapi_apib_register function is called in test_winsync_plugin_start. 
test_winsync_plugin_init does:

slapi_pblock_set( pb, SLAPI_PLUGIN_VERSION, SLAPI_PLUGIN_VERSION_01 ) != 0 ||
slapi_pblock_set(pb, SLAPI_PLUGIN_START_FN, (void *) posix_winsync_plugin_start ) != 0 ||
slapi_pblock_set(pb, SLAPI_PLUGIN_CLOSE_FN, (void *) posix_winsync_plugin_close ) != 0 ||
slapi_pblock_set( pb, SLAPI_PLUGIN_DESCRIPTION, (void *)&posix_winsync_pdesc ) != 0 )

which registers the _start function
Move the registration of your API (the slapi_apib_register() call) to the test_winsync_plugin_init() function.  That should cause the callbacks to be registered prior to the Replication plug-in checking for any regisered API.
Regards 
Carsten

----- Ursprüngliche Nachricht -----
Von: Nathan Kinder <nkinder@redhat.com>
Datum: Dienstag, 14. Dezember 2010, 17:31
Betreff: Re: [389-devel] Problem using winsync API
An: "389 Directory server developer discussion." <389-devel@lists.fedoraproject.org>
Cc: Carsten Grzemba <grzemba@contac-dt.de>


 
   
 
 

      
   On 12/13/2010 12:45 AM, Carsten Grzemba wrote:
   

      
     I found the reason: In winsync-plugin.h in the plugin config is defined a dependenciy for multi-master plugin. This seems to be wrong, because a Winsync plugin must already be registered when the multi-master plugin starts. I.e. the dependency should be reversed. The multi-master Plugin depends on the Winsync plugin.

I have removed

nsslapd-plugin-depends-on-named: Multimaster Replication Plugin

from the plugin configuration, and instead added the Multimaster Plugin config

nsslapd-plugin-depends-on-named: test Winsync API

Then, the Winsync plugin is loaded also if start / restart the directory server.
Can you review this? 

   
   Could you supply your plug-in code?  You need to be calling
   slapi_apib_register() to register your API in your plug-in's init()
   function.  I'm curious to see if you are doing this in the init()
   callback, or in the start() callback.

   

   -NGK

   
     > Regards

----- Ursprüngliche Nachricht -----
Von: Rich Megginson <rmeggins@redhat.com>
Datum: Samstag, 11. Dezember 2010, 0:59
Betreff: Re: [389-devel] Problem using winsync API
An: 389-devel@lists.fedoraproject.org


     
       > 

  



     
     > 
     
          On 12/08/2010 05:17 AM, Carsten Grzemba wrote:
  

     
     > 
     
            > 
----- Ursprüngliche Nachricht -----
Von: Carsten Grzemba <grzemba@contac-dt.de>
Datum: Mittwoch, 8. Dezember 2010, 11:16
Betreff: [389-devel] Problem using winsync API
An: "389 Directory server developer discussion." <389-devel@lists.fedoraproject.org>


    
      I try to use the Winsync API. The _winsync_plugin_init and 
_winsync_plugin_start functions are called, but apparently not 
correctly registered. 
If the actual functions should be called, nothing happens.
Debbuging shows the pointer thefunc in windows_private.c 
functions is NIL.

    
    it works only after the creation of an winsync replication agreement. After restart the directoryserver only _winsync_plugin_init and _winsync_plugin_start are called.

  
  So is there still a problem?

  
    
      > Does anyone know why this is?
Thanks 
Carsten


      
        --

      
      389-devel mailing list
389-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/389-devel

      > 
--
389-devel mailing list
389-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/389-devel
    
  
  




       
         --

       
       389-devel mailing list
389-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/389-devel

       > 
--
389-devel mailing list
389-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/389-devel
     
   
   

 


-- 389-devel mailing list 389-devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/389-devel