[Date Prev][Date Next] [Chronological] [Thread] [Top]

(ITS#6993) Backend Connection problem



Full_Name: Yann Carre
Version: 2.4.26
OS: red hat 5 (64 bits)
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (64.208.49.20)


I work on a specific Backend
I have provided in my back end a function to the bi_connection_init pointer.
This function adds a context needed in the operation backend function (search,
...)

When several connections start up, my LDAP server crashes.
The crash arrives because the context is not created before the call to
do_searh.
The connection is provided to the application Backend before my Back end
connection_init.
I have checked it with the debugger and see that the thread with initialize the
connection is suspend before the backend connection_init. In another thread, the
search function is executed without any context attached to the connection.

This problem seems to be bring because the connection mutex is freed before the
calling of the Back end connection_init in the function connection_init
(connection.c).

I have moved this mutex after the backend connection_init and it seems to work.

Would you confirm this analysis and take the correction in account?

Thanks
Regards

Yann