Boost logo

Boost :

Subject: Re: [boost] [transact] code in sandbox
From: Bob Walters (bob.s.walters_at_[hidden])
Date: 2010-02-17 01:43:10


On Sun, Feb 14, 2010 at 6:53 PM, vicente.botet <vicente.botet_at_[hidden]> wrote:
> Hi, here they are some of operations I need
>
> void rollback(); | void abort();
> void rollback_only(); | void force_to_abort();

Can you clarify the difference between these two?

> void restart();
>
> bool is_top_level();
> transaction_state status();
> where
> enum transaction_state {
>    active,
>    marked_roolback_only, | forced_to_abort
>    prepared,
>    committed,
>    rolledback,
>    preparing,
>    committing,
>    rollingback
>    ...
> };

If you are expecting the TM used in common among all libraries to
support these states, then you have to clarify what these states mean,
and how they apply to the interaction between the TM and the RM of
Boost.STM. Have you considered the possibility that some of these
states might be needed only on the STM-specific transaction data,
tracked interanlly. I am guessing that marked_rollback_only,
preparing, committing, and rollingback might all be statuses which you
don't have to expose in your interaction with the TM.

Thanks,
- Bob


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk