[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
win32 back-perl build fix - ITS#1646
This is a multi-part message in MIME format.
--------------010401050003080706060101
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
I see that the patch was recently added. Thanks.
2 things...
* remove unneeded XSUB.h includes
* add PERL_SET_CONTEXT at the beginning of any operation which may be
the first in a thread. ie., bind, search, modify. This tells the thread
with interpreter object to use. The perl context should be explicitly set.
--Kervin
--
http://linuxquestions.org/ - Ask linux questions, give linux help.
http://splint.org/ - Write safe C code. splint source-code analyzer.
--------------010401050003080706060101
Content-Type: text/plain;
name="p1.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="p1.patch"
Index: ldap/servers/slapd/back-perl/bind.c
===================================================================
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/back-perl/bind.c,v
retrieving revision 1.13
diff -c -r1.13 bind.c
*** ldap/servers/slapd/back-perl/bind.c 2002/04/16 03:36:22 1.13
--- ldap/servers/slapd/back-perl/bind.c 2002/04/18 07:09:32
***************
*** 20,26 ****
#endif
#include <EXTERN.h>
- #include <XSUB.h>
#include <perl.h>
#include "perl_back.h"
--- 20,25 ----
Index: ldap/servers/slapd/back-perl/close.c
===================================================================
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/back-perl/close.c,v
retrieving revision 1.8
diff -c -r1.8 close.c
*** ldap/servers/slapd/back-perl/close.c 2002/04/16 03:36:22 1.8
--- ldap/servers/slapd/back-perl/close.c 2002/04/18 07:09:32
***************
*** 34,40 ****
perl_back_close(
BackendInfo *bd
)
! {
ldap_pvt_thread_mutex_lock( &perl_interpreter_mutex );
perl_destruct(PERL_INTERPRETER);
--- 34,45 ----
perl_back_close(
BackendInfo *bd
)
! {
!
! #ifdef HAVE_WIN32_ASPERL
! PERL_SET_CONTEXT( PERL_INTERPRETER );
! #endif
!
ldap_pvt_thread_mutex_lock( &perl_interpreter_mutex );
perl_destruct(PERL_INTERPRETER);
Index: ldap/servers/slapd/back-perl/compare.c
===================================================================
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/back-perl/compare.c,v
retrieving revision 1.14
diff -c -r1.14 compare.c
*** ldap/servers/slapd/back-perl/compare.c 2002/04/16 03:36:22 1.14
--- ldap/servers/slapd/back-perl/compare.c 2002/04/18 07:09:32
***************
*** 51,56 ****
--- 51,60 ----
slap_strcopy( slap_strcopy( slap_strcopy( avastr,
ava->aa_desc->ad_cname.bv_val ), "=" ),
ava->aa_value.bv_val );
+
+ #ifdef HAVE_WIN32_ASPERL
+ PERL_SET_CONTEXT( PERL_INTERPRETER );
+ #endif
ldap_pvt_thread_mutex_lock( &perl_interpreter_mutex );
Index: ldap/servers/slapd/back-perl/delete.c
===================================================================
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/back-perl/delete.c,v
retrieving revision 1.11
diff -c -r1.11 delete.c
*** ldap/servers/slapd/back-perl/delete.c 2002/04/16 03:36:22 1.11
--- ldap/servers/slapd/back-perl/delete.c 2002/04/18 07:09:33
***************
*** 37,42 ****
--- 37,46 ----
int return_code;
PerlBackend *perl_back = (PerlBackend *) be->be_private;
+
+ #ifdef HAVE_WIN32_ASPERL
+ PERL_SET_CONTEXT( PERL_INTERPRETER );
+ #endif
ldap_pvt_thread_mutex_lock( &perl_interpreter_mutex );
Index: ldap/servers/slapd/back-perl/init.c
===================================================================
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/back-perl/init.c,v
retrieving revision 1.26
diff -c -r1.26 init.c
*** ldap/servers/slapd/back-perl/init.c 2002/04/16 03:36:22 1.26
--- ldap/servers/slapd/back-perl/init.c 2002/04/18 07:09:33
***************
*** 20,26 ****
#endif
#include <EXTERN.h>
- #include <XSUB.h>
#include <perl.h>
#include "perl_back.h"
--- 20,25 ----
***************
*** 176,182 ****
static void
! perl_back_xs_init()
{
char *file = __FILE__;
dXSUB_SYS;
--- 175,181 ----
static void
! perl_back_xs_init(PERL_BACK_XS_INIT_PARAMS)
{
char *file = __FILE__;
dXSUB_SYS;
Index: ldap/servers/slapd/back-perl/modify.c
===================================================================
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/back-perl/modify.c,v
retrieving revision 1.11
diff -c -r1.11 modify.c
*** ldap/servers/slapd/back-perl/modify.c 2002/04/16 03:36:22 1.11
--- ldap/servers/slapd/back-perl/modify.c 2002/04/18 07:09:33
***************
*** 41,46 ****
--- 41,50 ----
char *matched = NULL, *info = NULL;
PerlBackend *perl_back = (PerlBackend *)be->be_private;
+
+ #ifdef HAVE_WIN32_ASPERL
+ PERL_SET_CONTEXT( PERL_INTERPRETER );
+ #endif
ldap_pvt_thread_mutex_lock( &perl_interpreter_mutex );
Index: ldap/servers/slapd/back-perl/modrdn.c
===================================================================
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/back-perl/modrdn.c,v
retrieving revision 1.13
diff -c -r1.13 modrdn.c
*** ldap/servers/slapd/back-perl/modrdn.c 2002/04/16 03:36:22 1.13
--- ldap/servers/slapd/back-perl/modrdn.c 2002/04/18 07:09:33
***************
*** 55,60 ****
--- 55,64 ----
int return_code;
PerlBackend *perl_back = (PerlBackend *) be->be_private;
+
+ #ifdef HAVE_WIN32_ASPERL
+ PERL_SET_CONTEXT( PERL_INTERPRETER );
+ #endif
ldap_pvt_thread_mutex_lock( &perl_interpreter_mutex );
Index: ldap/servers/slapd/back-perl/search.c
===================================================================
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/back-perl/search.c,v
retrieving revision 1.17
diff -c -r1.17 search.c
*** ldap/servers/slapd/back-perl/search.c 2002/04/16 03:36:22 1.17
--- ldap/servers/slapd/back-perl/search.c 2002/04/18 07:09:33
***************
*** 55,60 ****
--- 55,64 ----
char *buf;
int i;
int return_code;
+
+ #ifdef HAVE_WIN32_ASPERL
+ PERL_SET_CONTEXT( PERL_INTERPRETER );
+ #endif
ldap_pvt_thread_mutex_lock( &perl_interpreter_mutex );
--------------010401050003080706060101--