Welcome to Intel® Software Network Quick Login | Join | Help |
Search in Intel® Software Network Forums
in Go

TM handler of exceptions

Last post 04-09-2008, 3:54 AM by Serge Preis. 1 replies.
Sort Posts: Previous Next
 04-09-2008, 1:57 AM 30252405  

TM handler of exceptions

The manual indicates that the TMhandler commits the transaction and rethrows the exception to other handlers. What if it doesn't commit successfully? Does it abort the transaction? If so, does it still rethrow the exception or just ignore it? And does it retry the transaction?

Thanks!

 
 04-09-2008, 3:54 AM 30252409 in reply to 30252405  

Re: TM handler of exceptions

In general, rules for commit are the same no matter whether this commit from usual code or exception handler: if commit fails the entire transaction is retried just as it was not executed at all.

For exception handler this means the follwoing: if commit fails, transaction will be retried from the beginning pretending that it was not executed, so exception will be abandoned as it were not happened at all.

Exception will reach handler outside transaction if only commit in TMhandler at transaction boundary succeeds. Otherwise external handler would see inconsistent state: unchanged local data (reverted due to abort), but exception, potentially based on changed data, is caught.

Regards,
Serge Preis.

 
View as RSS news feed in XML

Shortcuts


Tags For This Post

...

Community Tags

...