BEGIN {
sleep
(1) ;
if
(
$ENV
{PERL_INLINE_JAVA_JNI}){
plan(
tests
=> 0) ;
exit
;
}
elsif
(! Inline::Java::Portable::portable(
'GOT_FORK'
)){
plan(
tests
=> 0) ;
exit
;
}
else
{
$t10::nb
= 5 ;
plan(
tests
=>
$t10::nb
+ 3) ;
}
}
Java
=>
't/shared.java'
,
SHARED_JVM
=> 1,
PORT
=> 17892,
NAME
=>
't10'
,
) ;
$t10::t10::i
= 0 ;
my
$nb
=
$t10::nb
;
my
$sum
= ((
$nb
) * (
$nb
+ 1)) / 2 ;
for
(
my
$i
= 0 ;
$i
<
$nb
;
$i
++){
if
(!
fork
()){
do_child(
$i
) ;
}
}
for
(
my
$i
= 0 ;
$i
<
$nb
;
$i
++){
wait
() ;
ok(1) ;
}
ok(
$t10::t10::i
,
$sum
) ;
ok(! Inline::Java::i_am_JVM_owner()) ;
Inline::Java::capture_JVM() ;
ok(Inline::Java::i_am_JVM_owner()) ;
sub
do_child {
my
$i
=
shift
;
Inline::Java::reconnect_JVM() ;
my
$t
= new t10::t10() ;
for
(
my
$j
= 0 ;
$j
<=
$i
;
$j
++){
$t
->incr() ;
}
exit
;
}