|
Revision 2326, 1.2 kB
(checked in by chf, 4 months ago)
|
nested parallel transactions
|
| Line | |
|---|
| 1 |
(******************************************************************************* |
|---|
| 2 |
Copyright 2008 Sun Microsystems, Inc., |
|---|
| 3 |
4150 Network Circle, Santa Clara, California 95054, U.S.A. |
|---|
| 4 |
All rights reserved. |
|---|
| 5 |
|
|---|
| 6 |
U.S. Government Rights - Commercial software. |
|---|
| 7 |
Government users are subject to the Sun Microsystems, Inc. standard |
|---|
| 8 |
license agreement and applicable provisions of the FAR and its supplements. |
|---|
| 9 |
|
|---|
| 10 |
Use is subject to license terms. |
|---|
| 11 |
|
|---|
| 12 |
This distribution may include materials developed by third parties. |
|---|
| 13 |
|
|---|
| 14 |
Sun, Sun Microsystems, the Sun logo and Java are trademarks or registered |
|---|
| 15 |
trademarks of Sun Microsystems, Inc. in the U.S. and other countries. |
|---|
| 16 |
******************************************************************************) |
|---|
| 17 |
|
|---|
| 18 |
component abortTest |
|---|
| 19 |
export Executable |
|---|
| 20 |
|
|---|
| 21 |
run(args:String...):()=do |
|---|
| 22 |
iters : ZZ32 = 3000 |
|---|
| 23 |
successes : ZZ32 := 0 |
|---|
| 24 |
failures : ZZ32 := 0 |
|---|
| 25 |
for i <- 0#iters do |
|---|
| 26 |
try |
|---|
| 27 |
tryatomic do |
|---|
| 28 |
successes+= 1 |
|---|
| 29 |
abort() |
|---|
| 30 |
end |
|---|
| 31 |
catch e |
|---|
| 32 |
TryAtomicFailure => printThreadInfo("Caught TryAtomicFailure"); atomic do failures+= 1 end |
|---|
| 33 |
end |
|---|
| 34 |
end |
|---|
| 35 |
|
|---|
| 36 |
assert(successes=0, "Abort failed") |
|---|
| 37 |
assert(failures=iters,"Abort failed") |
|---|
| 38 |
|
|---|
| 39 |
end |
|---|
| 40 |
end |
|---|