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

Re: (ITS#6859) ldap_int_thread_mutex_x functions introduced in 2.4, 24



--_000_36C3E4EA3ECF49F68EBD3A7AC0A7D60Dwebsensecom_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable




You are right, ldap_int_thread_mutex_(X) functions were introduced in 2.3.8=
 on 10/06/2005.

But there is NO declaration or function definition anywhere in the code.


What was changed is 2.4.24 is ldap_int_initialize_global_options function.


A call to LDAP_PVT_MUTEX_FIRSTCREATE(gopts->ldo_mutex) was added.

That macro (With defined HAVE_NT_THREADS) resolves to ldap_int_thread_mutex=
_init. Since that function does not exist my linker reports an error.


Here is what's going on


LDAP_PVT_MUTEX_FIRSTCREATE is defined in include/ldap_pvt_thread.h as LDAP_=
DEBUG_MUTEX_FIRSTCREATE (if LDAP_PVT_THREAD_H_DONE is not defined and LDAP_=
THREAD_DEBUG_WRAP is defined) or LDAP_INT_MUTEX_FIRSTCREATE (if both LDAP_P=
VT_THREAD_H_DONE and LDAP_THREAD_DEBUG_WRAP are defined). The last one is m=
y case, I could not find any definition or information on whether or not LD=
AP_PVT_THREAD_H_DONE should be defined.


For HAVE_NT_THREADS LDAP_INT_MUTEX_FIRSTCREATE is resolved as (include/ldap=
_int_thread.h:185)

#elif defined(HAVE_NT_THREADS)

/*************************************

 *                                   *

 * thread definitions for NT threads *

 *                                   *

 *************************************/


#include <process.h>

#include <windows.h>


LDAP_BEGIN_DECL


typedef unsigned long   ldap_int_thread_t;

typedef HANDLE  ldap_int_thread_mutex_t;

typedef HANDLE  ldap_int_thread_cond_t;

typedef DWORD   ldap_int_thread_key_t;


#ifndef LDAP_INT_MUTEX_NULL

#define LDAP_INT_MUTEX_NULL             ((HANDLE)0)

#define LDAP_INT_MUTEX_FIRSTCREATE(m) \

                ((void) ((m) || ldap_int_thread_mutex_init(&(m))))

#endif


And since there is no function ldap_int_thread_mutex_init linker fails.


Sincerelly

Demian Vladi

----- Reply message -----
From: "openldap-its@OpenLDAP.org" <openldap-its@OpenLDAP.org>
Date: Wed, Mar 9, 2011 4:01 pm
Subject: (ITS#6859) ldap_int_thread_mutex_x functions introduced in 2.4,24
To: "Vladi, Demian" <dvladi@websense.com>


*** THIS IS AN AUTOMATICALLY GENERATED REPLY ***

Thanks for your report to the OpenLDAP Issue Tracking System.  Your
report has been assigned the tracking number ITS#6859.

One of our support engineers will look at your report in due course.
Note that this may take some time because our support engineers
are volunteers.  They only work on OpenLDAP when they have spare
time.

If you need to provide additional information in regards to your
issue report, you may do so by replying to this message.  Note that
any mail sent to openldap-its@openldap.org with (ITS#6859)
in the subject will automatically be attached to the issue report.

        mailto:openldap-its@openldap.org?subject=3D(ITS#6859)

You may follow the progress of this report by loading the following
URL in a web browser:
    http://www.OpenLDAP.org/its/index.cgi?findid=3D6859

Please remember to retain your issue tracking number (ITS#6859)
on any further messages you send to us regarding this report.  If
you don't then you'll just waste our time and yours because we
won't be able to properly track the report.

Please note that the Issue Tracking System is not intended to
be used to seek help in the proper use of OpenLDAP Software.
Such requests will be closed.

OpenLDAP Software is user supported.
        http://www.OpenLDAP.org/support/

--------------
Copyright 1998-2007 The OpenLDAP Foundation, All Rights Reserved.



 To report this as spam, please forward to spam@websense.com.  Thank you.


 Protected by Websense Hosted Email Security -- www.websense.com=20

--_000_36C3E4EA3ECF49F68EBD3A7AC0A7D60Dwebsensecom_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Diso-8859-=
1">
<meta name=3D"Generator" content=3D"Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; pad=
ding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<style>
<!--
.x_EmailQuote
	{margin-left:1pt;
	padding-left:4pt;
	border-left:#800000 2px solid}
-->
</style>
<div><br>
<br>
<br>
You are right, ldap_int_thread_mutex_(X) functions were introduced in 2.3.8=
 on 10/06/2005.<br>
<br>
But there is NO declaration or function definition anywhere in the code.<br>
<br>
<br>
What was changed is 2.4.24 is ldap_int_initialize_global_options function.<=
br>
<br>
<br>
A call to LDAP_PVT_MUTEX_FIRSTCREATE(gopts-&gt;ldo_mutex) was added. <br>
<br>
That macro (With defined HAVE_NT_THREADS) resolves to ldap_int_thread_mutex=
_init. Since that function does not exist my linker reports an error.<br>
<br>
<br>
Here is what's going on<br>
<br>
<br>
LDAP_PVT_MUTEX_FIRSTCREATE is defined in include/ldap_pvt_thread.h as LDAP_=
DEBUG_MUTEX_FIRSTCREATE (if LDAP_PVT_THREAD_H_DONE is not defined and LDAP_=
THREAD_DEBUG_WRAP is defined) or LDAP_INT_MUTEX_FIRSTCREATE (if both LDAP_P=
VT_THREAD_H_DONE and LDAP_THREAD_DEBUG_WRAP
 are defined). The last one is my case, I could not find any definition or =
information on whether or not LDAP_PVT_THREAD_H_DONE should be defined.<br>
<br>
<br>
For HAVE_NT_THREADS LDAP_INT_MUTEX_FIRSTCREATE is resolved as (include/ldap=
_int_thread.h:185)<br>
<br>
#elif defined(HAVE_NT_THREADS)<br>
<br>
/*************************************<br>
<br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *<br>
<br>
&nbsp;* thread definitions for NT threads *<br>
<br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *<br>
<br>
&nbsp;*************************************/<br>
<br>
<br>
#include &lt;process.h&gt;<br>
<br>
#include &lt;windows.h&gt;<br>
<br>
<br>
LDAP_BEGIN_DECL<br>
<br>
<br>
typedef unsigned long&nbsp;&nbsp; ldap_int_thread_t;<br>
<br>
typedef HANDLE&nbsp; ldap_int_thread_mutex_t;<br>
<br>
typedef HANDLE&nbsp; ldap_int_thread_cond_t;<br>
<br>
typedef DWORD&nbsp;&nbsp; ldap_int_thread_key_t;<br>
<br>
<br>
#ifndef LDAP_INT_MUTEX_NULL<br>
<br>
#define LDAP_INT_MUTEX_NULL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp; ((HANDLE)0)<br>
<br>
#define LDAP_INT_MUTEX_FIRSTCREATE(m) \<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp; ((void) ((m) || ldap_int_thread_mutex_init(&amp;(m))))<br>
<br>
#endif<br>
<br>
<br>
And since there is no function ldap_int_thread_mutex_init linker fails.<br>
<br>
<br>
Sincerelly<br>
<br>
Demian Vladi<br>
<br>
<div id=3D"x_htc_header" style=3D"">----- Reply message -----<br>
From: &quot;openldap-its@OpenLDAP.org&quot; &lt;openldap-its@OpenLDAP.org&g=
t;<br>
Date: Wed, Mar 9, 2011 4:01 pm<br>
Subject: (ITS#6859) ldap_int_thread_mutex_x functions introduced in 2.4,24<=
br>
To: &quot;Vladi, Demian&quot; &lt;dvladi@websense.com&gt;<br>
<br>
</div>
</div>
<font size=3D"2"><span style=3D"font-size:10pt;">
<div class=3D"PlainText"><br>
*** THIS IS AN AUTOMATICALLY GENERATED REPLY ***<br>
<br>
Thanks for your report to the OpenLDAP Issue Tracking System.&nbsp; Your<br>
report has been assigned the tracking number ITS#6859.<br>
<br>
One of our support engineers will look at your report in due course.<br>
Note that this may take some time because our support engineers<br>
are volunteers.&nbsp; They only work on OpenLDAP when they have spare<br>
time.<br>
<br>
If you need to provide additional information in regards to your<br>
issue report, you may do so by replying to this message.&nbsp; Note that<br>
any mail sent to openldap-its@openldap.org with (ITS#6859)<br>
in the subject will automatically be attached to the issue report.<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href=3D"mailto:openldap-its@o=
penldap.org?subject=3D(ITS#6859">mailto:openldap-its@openldap.org?subject=
=3D(ITS#6859</a>)<br>
<br>
You may follow the progress of this report by loading the following<br>
URL in a web browser:<br>
&nbsp;&nbsp;&nbsp; <a href=3D"http://www.OpenLDAP.org/its/index.cgi?findid=
=3D6859">http://www.OpenLDAP.org/its/index.cgi?findid=3D6859</a><br>
<br>
Please remember to retain your issue tracking number (ITS#6859)<br>
on any further messages you send to us regarding this report.&nbsp; If<br>
you don't then you'll just waste our time and yours because we<br>
won't be able to properly track the report.<br>
<br>
Please note that the Issue Tracking System is not intended to<br>
be used to seek help in the proper use of OpenLDAP Software.<br>
Such requests will be closed.<br>
<br>
OpenLDAP Software is user supported.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href=3D"http://www.OpenLDAP.o=
rg/support/">http://www.OpenLDAP.org/support/</a><br>
<br>
--------------<br>
Copyright 1998-2007 The OpenLDAP Foundation, All Rights Reserved.<br>
<br>
<br>
<br>
&nbsp;To report this as spam, please forward to spam@websense.com.&nbsp; Th=
ank you.<br>
</div>
</span></font>
<br><br>
<P align=3Dcenter>Protected by Websense&nbsp;Hosted Email&nbsp;Security &#8=
212; www.websense.com</P>
</body>
</html>

--_000_36C3E4EA3ECF49F68EBD3A7AC0A7D60Dwebsensecom_--