This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
#11739 was incomplete.
[perl5.git] / perlapi.c
index e910818..ec2ee38 100644 (file)
--- a/perlapi.c
+++ b/perlapi.c
@@ -1610,7 +1610,7 @@ Perl_mg_set(pTHXo_ SV* sv)
 }
 
 #undef  Perl_mg_size
-IV
+I32
 Perl_mg_size(pTHXo_ SV* sv)
 {
     return ((CPerlObj*)pPerl)->Perl_mg_size(sv);
@@ -1678,6 +1678,30 @@ Perl_my_fflush_all(pTHXo)
     return ((CPerlObj*)pPerl)->Perl_my_fflush_all();
 }
 
+#undef  Perl_my_fork
+Pid_t
+Perl_my_fork()
+{
+    dTHXo;
+    return ((CPerlObj*)pPerl)->Perl_my_fork();
+}
+
+#undef  Perl_atfork_lock
+void
+Perl_atfork_lock()
+{
+    dTHXo;
+    ((CPerlObj*)pPerl)->Perl_atfork_lock();
+}
+
+#undef  Perl_atfork_unlock
+void
+Perl_atfork_unlock()
+{
+    dTHXo;
+    ((CPerlObj*)pPerl)->Perl_atfork_unlock();
+}
+
 #undef  Perl_my_lstat
 I32
 Perl_my_lstat(pTHXo)
@@ -3002,11 +3026,11 @@ Perl_sv_compile_2op(pTHXo_ SV* sv, OP** startp, char* code, AV** avp)
     return ((CPerlObj*)pPerl)->Perl_sv_compile_2op(sv, startp, code, avp);
 }
 
-#undef  Perl_sv_getcwd
+#undef  Perl_getcwd_sv
 int
-Perl_sv_getcwd(pTHXo_ SV* sv)
+Perl_getcwd_sv(pTHXo_ SV* sv)
 {
-    return ((CPerlObj*)pPerl)->Perl_sv_getcwd(sv);
+    return ((CPerlObj*)pPerl)->Perl_getcwd_sv(sv);
 }
 
 #undef  Perl_sv_dec
@@ -3170,13 +3194,6 @@ Perl_sv_pvbyten_force(pTHXo_ SV* sv, STRLEN* lp)
     return ((CPerlObj*)pPerl)->Perl_sv_pvbyten_force(sv, lp);
 }
 
-#undef  Perl_sv_realpath
-int
-Perl_sv_realpath(pTHXo_ SV* sv, char *path, STRLEN len)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_realpath(sv, path, len);
-}
-
 #undef  Perl_sv_reftype
 char*
 Perl_sv_reftype(pTHXo_ SV* sv, int ob)
@@ -4054,23 +4071,23 @@ Perl_newMYSUB(pTHXo_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block)
 
 #undef  Perl_cx_dup
 PERL_CONTEXT*
-Perl_cx_dup(pTHXo_ PERL_CONTEXT* cx, I32 ix, I32 max)
+Perl_cx_dup(pTHXo_ PERL_CONTEXT* cx, I32 ix, I32 max, clone_params* param)
 {
-    return ((CPerlObj*)pPerl)->Perl_cx_dup(cx, ix, max);
+    return ((CPerlObj*)pPerl)->Perl_cx_dup(cx, ix, max, param);
 }
 
 #undef  Perl_si_dup
 PERL_SI*
-Perl_si_dup(pTHXo_ PERL_SI* si)
+Perl_si_dup(pTHXo_ PERL_SI* si, clone_params* param)
 {
-    return ((CPerlObj*)pPerl)->Perl_si_dup(si);
+    return ((CPerlObj*)pPerl)->Perl_si_dup(si, param);
 }
 
 #undef  Perl_ss_dup
 ANY*
-Perl_ss_dup(pTHXo_ PerlInterpreter* proto_perl)
+Perl_ss_dup(pTHXo_ PerlInterpreter* proto_perl, clone_params* param)
 {
-    return ((CPerlObj*)pPerl)->Perl_ss_dup(proto_perl);
+    return ((CPerlObj*)pPerl)->Perl_ss_dup(proto_perl, param);
 }
 
 #undef  Perl_any_dup
@@ -4082,16 +4099,16 @@ Perl_any_dup(pTHXo_ void* v, PerlInterpreter* proto_perl)
 
 #undef  Perl_he_dup
 HE*
-Perl_he_dup(pTHXo_ HE* e, bool shared)
+Perl_he_dup(pTHXo_ HE* e, bool shared, clone_params* param)
 {
-    return ((CPerlObj*)pPerl)->Perl_he_dup(e, shared);
+    return ((CPerlObj*)pPerl)->Perl_he_dup(e, shared, param);
 }
 
 #undef  Perl_re_dup
 REGEXP*
-Perl_re_dup(pTHXo_ REGEXP* r)
+Perl_re_dup(pTHXo_ REGEXP* r, clone_params* param)
 {
-    return ((CPerlObj*)pPerl)->Perl_re_dup(r);
+    return ((CPerlObj*)pPerl)->Perl_re_dup(r, param);
 }
 
 #undef  Perl_fp_dup
@@ -4110,23 +4127,23 @@ Perl_dirp_dup(pTHXo_ DIR* dp)
 
 #undef  Perl_gp_dup
 GP*
-Perl_gp_dup(pTHXo_ GP* gp)
+Perl_gp_dup(pTHXo_ GP* gp, clone_params* param)
 {
-    return ((CPerlObj*)pPerl)->Perl_gp_dup(gp);
+    return ((CPerlObj*)pPerl)->Perl_gp_dup(gp, param);
 }
 
 #undef  Perl_mg_dup
 MAGIC*
-Perl_mg_dup(pTHXo_ MAGIC* mg)
+Perl_mg_dup(pTHXo_ MAGIC* mg, clone_params* param)
 {
-    return ((CPerlObj*)pPerl)->Perl_mg_dup(mg);
+    return ((CPerlObj*)pPerl)->Perl_mg_dup(mg, param);
 }
 
 #undef  Perl_sv_dup
 SV*
-Perl_sv_dup(pTHXo_ SV* sstr)
+Perl_sv_dup(pTHXo_ SV* sstr, clone_params* param)
 {
-    return ((CPerlObj*)pPerl)->Perl_sv_dup(sstr);
+    return ((CPerlObj*)pPerl)->Perl_sv_dup(sstr, param);
 }
 #if defined(HAVE_INTERP_INTERN)
 
@@ -4249,6 +4266,57 @@ Perl_sys_intern_init(pTHXo)
 #endif
 #if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
 #endif
+#if defined(USE_ITHREADS) && (defined(PERL_IN_SHAREDSV_C) || defined(PERL_DECL_PROT))
+
+#undef  Perl_sharedsv_init
+void
+Perl_sharedsv_init(pTHXo)
+{
+    ((CPerlObj*)pPerl)->Perl_sharedsv_init();
+}
+
+#undef  Perl_sharedsv_new
+shared_sv*
+Perl_sharedsv_new(pTHXo)
+{
+    return ((CPerlObj*)pPerl)->Perl_sharedsv_new();
+}
+
+#undef  Perl_sharedsv_find
+shared_sv*
+Perl_sharedsv_find(pTHXo_ SV* sv)
+{
+    return ((CPerlObj*)pPerl)->Perl_sharedsv_find(sv);
+}
+
+#undef  Perl_sharedsv_lock
+void
+Perl_sharedsv_lock(pTHXo_ shared_sv* ssv)
+{
+    ((CPerlObj*)pPerl)->Perl_sharedsv_lock(ssv);
+}
+
+#undef  Perl_sharedsv_unlock
+void
+Perl_sharedsv_unlock(pTHXo_ shared_sv* ssv)
+{
+    ((CPerlObj*)pPerl)->Perl_sharedsv_unlock(ssv);
+}
+
+#undef  Perl_sharedsv_thrcnt_inc
+void
+Perl_sharedsv_thrcnt_inc(pTHXo_ shared_sv* ssv)
+{
+    ((CPerlObj*)pPerl)->Perl_sharedsv_thrcnt_inc(ssv);
+}
+
+#undef  Perl_sharedsv_thrcnt_dec
+void
+Perl_sharedsv_thrcnt_dec(pTHXo_ shared_sv* ssv)
+{
+    ((CPerlObj*)pPerl)->Perl_sharedsv_thrcnt_dec(ssv);
+}
+#endif
 #if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
 #  ifdef DEBUGGING
 #  endif