You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl-cvs@perl.apache.org by st...@apache.org on 2003/07/19 11:57:05 UTC
cvs commit: modperl-2.0/t/conf modperl_extra.pl
stas 2003/07/19 02:57:05
Modified: t/conf modperl_extra.pl
Added: t/response/TestModperl ithreads.pm
Log:
first basic tests of interoperation of ithreads and mod_perl 2
Revision Changes Path
1.1 modperl-2.0/t/response/TestModperl/ithreads.pm
Index: ithreads.pm
===================================================================
package TestModperl::ithreads;
use strict;
use warnings FATAL => 'all';
use Apache::Test;
use Apache::TestUtil;
use Apache::TestTrace;
use Apache::Const -compile => 'OK';
# XXX: at this moment ithreads can be used only with 5.8.1. However
# once ithreads will be available on CPAN, we will need to change the
# check for perl 5.8.0 and this certain version of ithreads (here and
# in t/conf/modperl_extra.pl
sub handler {
my $r = shift;
plan $r, tests => 2, have
have_threads,
{"perl >= 5.8.1 is required (this is $])" => ($] >= 5.008001)};
# threads must have been preloaded at the server startup for this
# test (this is done at t/conf/modperl_extra.pl)
require threads;
threads->import();
{
my $tid = threads->self->tid;
debug "1st TID is $tid" if defined $tid;
ok defined $tid;
}
{
my $thr = threads->new(sub {
my $tid = threads->self->tid;
debug "2nd TID is $tid" if defined $tid;
return 2;
});
ok $thr->join == 2;
}
Apache::OK;
}
1;
__END__
SetHandler modperl
1.31 +13 -0 modperl-2.0/t/conf/modperl_extra.pl
Index: modperl_extra.pl
===================================================================
RCS file: /home/cvs/modperl-2.0/t/conf/modperl_extra.pl,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- modperl_extra.pl 2 Jun 2003 03:03:39 -0000 1.30
+++ modperl_extra.pl 19 Jul 2003 09:57:05 -0000 1.31
@@ -79,6 +79,19 @@
# attempt to use perl's mip early
Apache->server->add_config(['<Perl >', '1;', '</Perl>']);
+
+# this is needed for TestModperl::ithreads
+# one should be able to boot ithreads at the server startup and then
+# access the ithreads setup at run-time when a perl interpreter is
+# running on a different native threads (testing that perl
+# interpreters and ithreads aren't related to the native threads they
+# are running on). This should work starting from perl-5.8.1 and higher.
+use Config;
+if ($] >= 5.008001 && $Config{useithreads}) {
+ eval { require threads; threads->import() };
+}
+
+
use constant IOBUFSIZE => 8192;
use Apache::Const -compile => qw(MODE_READBYTES);