Change 29467 by [EMAIL PROTECTED] on 2006/12/05 14:55:14
Introduction of d_pseudofork
Affected files ...
... //depot/perl/Configure#635 edit
... //depot/perl/Porting/Glossary#178 edit
... //depot/perl/Porting/config.sh#165 edit
... //depot/perl/config_h.SH#330 edit
... //depot/perl/handy.h#128 edit
... //depot/perl/uconfig.sh#75 edit
Differences ...
==== //depot/perl/Configure#635 (xtext) ====
Index: perl/Configure
--- perl/Configure#634~29462~ 2006-12-04 10:09:20.000000000 -0800
+++ perl/Configure 2006-12-05 06:55:14.000000000 -0800
@@ -26,7 +26,7 @@
# $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
#
-# Generated on Mon Dec 4 19:08:33 CET 2006 [metaconfig 3.0 PL70]
+# Generated on Tue Dec 5 15:35:51 CET 2006 [metaconfig 3.0 PL70]
# (with additional metaconfig patches by [EMAIL PROTECTED])
cat >c1$$ <<EOF
@@ -795,6 +795,7 @@
d_usleep=''
d_usleepproto=''
d_ustat=''
+d_pseudofork=''
d_vfork=''
usevfork=''
d_voidsig=''
@@ -15571,6 +15572,54 @@
set d_procselfexe
eval $setvar
+: backward compatibility for d_hvfork
+if test X$d_hvfork != X; then
+ d_vfork="$d_hvfork"
+ d_hvfork=''
+fi
+: see if there is a vfork
+val=''
+set vfork val
+eval $inlibc
+
+d_pseudofork=$undef
+
+: Ok, but do we want to use it. vfork is reportedly unreliable in
+: perl on Solaris 2.x, and probably elsewhere.
+case "$val" in
+$define)
+ echo " "
+ case "$usevfork" in
+ false) dflt='n';;
+ *) dflt='y';;
+ esac
+ cat <<'EOM'
+
+Perl can only use a vfork() that doesn't suffer from strict
+restrictions on calling functions or modifying global data in
+the child. For example, glibc-2.1 contains such a vfork()
+that is unsuitable. If your system provides a proper fork()
+call, chances are that you do NOT want perl to use vfork().
+
+EOM
+ rp="Do you still want to use vfork()?"
+ . ./myread
+ case "$ans" in
+ y|Y) ;;
+ *)
+ echo "Ok, we won't use vfork()."
+ val="$undef"
+ ;;
+ esac
+ ;;
+esac
+set d_vfork
+eval $setvar
+case "$d_vfork" in
+$define) usevfork='true';;
+*) usevfork='false';;
+esac
+
: see whether the pthread_atfork exists
$cat >try.c <<EOP
#include <pthread.h>
@@ -18079,52 +18128,6 @@
set ustat d_ustat
eval $inlibc
-: backward compatibility for d_hvfork
-if test X$d_hvfork != X; then
- d_vfork="$d_hvfork"
- d_hvfork=''
-fi
-: see if there is a vfork
-val=''
-set vfork val
-eval $inlibc
-
-: Ok, but do we want to use it. vfork is reportedly unreliable in
-: perl on Solaris 2.x, and probably elsewhere.
-case "$val" in
-$define)
- echo " "
- case "$usevfork" in
- false) dflt='n';;
- *) dflt='y';;
- esac
- cat <<'EOM'
-
-Perl can only use a vfork() that doesn't suffer from strict
-restrictions on calling functions or modifying global data in
-the child. For example, glibc-2.1 contains such a vfork()
-that is unsuitable. If your system provides a proper fork()
-call, chances are that you do NOT want perl to use vfork().
-
-EOM
- rp="Do you still want to use vfork()?"
- . ./myread
- case "$ans" in
- y|Y) ;;
- *)
- echo "Ok, we won't use vfork()."
- val="$undef"
- ;;
- esac
- ;;
-esac
-set d_vfork
-eval $setvar
-case "$d_vfork" in
-$define) usevfork='true';;
-*) usevfork='false';;
-esac
-
: see if closedir exists
set closedir d_closedir
eval $inlibc
@@ -21756,6 +21759,7 @@
d_portable='$d_portable'
d_printf_format_null='$d_printf_format_null'
d_procselfexe='$d_procselfexe'
+d_pseudofork='$d_pseudofork'
d_pthread_atfork='$d_pthread_atfork'
d_pthread_attr_setscope='$d_pthread_attr_setscope'
d_pthread_yield='$d_pthread_yield'
==== //depot/perl/Porting/Glossary#178 (text) ====
Index: perl/Porting/Glossary
--- perl/Porting/Glossary#177~29338~ 2006-11-21 07:16:46.000000000 -0800
+++ perl/Porting/Glossary 2006-12-05 06:55:14.000000000 -0800
@@ -1572,6 +1572,10 @@
Defined if $procselfexe is symlink to the absolute
pathname of the executing program.
+d_pseudofork (d_vfork.U):
+ This variable conditionally defines the HAS_PSEUDOFORK symbol,
+ which indicates that an emulation of the fork routine is available.
+
d_pthread_atfork (d_pthread_atfork.U):
This variable conditionally defines the HAS_PTHREAD_ATFORK symbol,
which indicates to the C program that the pthread_atfork()
==== //depot/perl/Porting/config.sh#165 (text) ====
Index: perl/Porting/config.sh
--- perl/Porting/config.sh#164~29289~ 2006-11-16 00:07:33.000000000 -0800
+++ perl/Porting/config.sh 2006-12-05 06:55:14.000000000 -0800
@@ -345,6 +345,7 @@
d_portable='define'
d_printf_format_null='define'
d_procselfexe='define'
+d_pseudofork='undef'
d_pthread_atfork='undef'
d_pthread_attr_setscope='define'
d_pthread_yield='define'
==== //depot/perl/config_h.SH#330 (text) ====
Index: perl/config_h.SH
--- perl/config_h.SH#329~29407~ 2006-11-28 06:59:03.000000000 -0800
+++ perl/config_h.SH 2006-12-05 06:55:14.000000000 -0800
@@ -3325,6 +3325,12 @@
*/
#$d_vfork HAS_VFORK /**/
+/* HAS_PSEUDOFORK:
+ * This symbol, if defined, indicates that an emulation of the
+ * fork routine is available.
+ */
+#$d_pseudofork HAS_PSEUDOFORK /**/
+
/* Signal_t:
* This symbol's value is either "void" or "int", corresponding to the
* appropriate return type of a signal handler. Thus, you can declare
==== //depot/perl/handy.h#128 (text) ====
Index: perl/handy.h
--- perl/handy.h#127~29238~ 2006-11-08 08:39:21.000000000 -0800
+++ perl/handy.h 2006-12-05 06:55:14.000000000 -0800
@@ -175,7 +175,7 @@
#endif
/* HMB H.Merijn Brand - a placeholder for preparing Configure patches */
-#if defined(HAS_MALLOC_SIZE) && defined(LOCALTIME_R_NEEDS_TZSET) &&
defined(HAS_DIR_DD_FD)
+#if defined(HAS_MALLOC_SIZE) && defined(LOCALTIME_R_NEEDS_TZSET) &&
defined(HAS_DIR_DD_FD) && defined(HAS_PSEUDOFORK)
/* Not (yet) used at top level, but mention them for metaconfig */
#endif
==== //depot/perl/uconfig.sh#75 (xtext) ====
Index: perl/uconfig.sh
--- perl/uconfig.sh#74~29291~ 2006-11-16 01:13:08.000000000 -0800
+++ perl/uconfig.sh 2006-12-05 06:55:14.000000000 -0800
@@ -284,6 +284,7 @@
d_portable='undef'
d_printf_format_null='undef'
d_procselfexe='undef'
+d_pseudofork='undef'
d_pthread_atfork='undef'
d_pthread_attr_setscope='undef'
d_pthread_yield='undef'
End of Patch.