aboutsummaryrefslogtreecommitdiffstats
path: root/erts/test/run_erl_SUITE_data
diff options
context:
space:
mode:
Diffstat (limited to 'erts/test/run_erl_SUITE_data')
-rw-r--r--erts/test/run_erl_SUITE_data/defuncter.pl31
-rw-r--r--erts/test/run_erl_SUITE_data/run_erl_test.pl41
2 files changed, 72 insertions, 0 deletions
diff --git a/erts/test/run_erl_SUITE_data/defuncter.pl b/erts/test/run_erl_SUITE_data/defuncter.pl
new file mode 100644
index 0000000000..261f1b8061
--- /dev/null
+++ b/erts/test/run_erl_SUITE_data/defuncter.pl
@@ -0,0 +1,31 @@
+#
+# %CopyrightBegin%
+#
+# Copyright Ericsson AB 2006-2009. All Rights Reserved.
+#
+# The contents of this file are subject to the Erlang Public License,
+# Version 1.1, (the "License"); you may not use this file except in
+# compliance with the License. You should have received a copy of the
+# Erlang Public License along with this software. If not, it can be
+# retrieved online at http://www.erlang.org/.
+#
+# Software distributed under the License is distributed on an "AS IS"
+# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+# the License for the specific language governing rights and limitations
+# under the License.
+#
+# %CopyrightEnd%
+#
+
+$SIG{HUP} = 'IGNORE';
+if (fork() == 0) {
+ print "child\n";
+ my $i = 0;
+ for (;;) {
+ sleep(5);
+ print $i++, "\n";
+ }
+} else {
+ print "hejsan\n";
+ exit(1);
+}
diff --git a/erts/test/run_erl_SUITE_data/run_erl_test.pl b/erts/test/run_erl_SUITE_data/run_erl_test.pl
new file mode 100644
index 0000000000..2155225e7f
--- /dev/null
+++ b/erts/test/run_erl_SUITE_data/run_erl_test.pl
@@ -0,0 +1,41 @@
+#
+# %CopyrightBegin%
+#
+# Copyright Ericsson AB 2006-2009. All Rights Reserved.
+#
+# The contents of this file are subject to the Erlang Public License,
+# Version 1.1, (the "License"); you may not use this file except in
+# compliance with the License. You should have received a copy of the
+# Erlang Public License along with this software. If not, it can be
+# retrieved online at http://www.erlang.org/.
+#
+# Software distributed under the License is distributed on an "AS IS"
+# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+# the License for the specific language governing rights and limitations
+# under the License.
+#
+# %CopyrightEnd%
+#
+
+my $run_erl = shift;
+my $defuncter = shift;
+my $pipe = shift;
+my $log_dir = shift;
+my $cmd = "run_erl $pipe $log_dir \"$^X $defuncter\"";
+my $pid;
+
+if (($pid = fork()) == 0) {
+ #print join(" ", $run_erl, $pipe, $log_dir, "$^X $defuncter");
+ exec($run_erl, $pipe, $log_dir, "$^X $defuncter");
+ die "ERROR: exec failed: $!\n";
+} elsif ($pid > 0) {
+ sleep(1);
+ my $res = waitpid($pid, 0);
+ if ($res == $pid) {
+ print "OK\n";
+ exit(0);
+ }
+ die "ERROR: waitpid($pid, 0) returned $res\n";
+} else {
+ die "ERROR: fork() failed: $!\n";
+}