Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[gmf-dev] [EMFT - API CHANGE] Bugzilla 136156: Need a way to synchronously share transaction lock with another thread


Description:
Introduced new methods in the Transaction API to support sharing of transactions between cooperating threads, to solve some common deadlock scenarios.

These new methods are:
   - TransactionalEditingDomain interface:
      - RunnableWithResult createPrivilegedRunnable(Runnable)
   - InternalTransactionalEditingDomain interface:
      - void startPrivilegedRunnable(PrivilegedRunnable)
      - void endPrivilegedRunnable(PrivilegedRunnable)
   - InternalTransaction interface:
      - void startPrivilegedRunnable(PrivilegedRunnable)
      - void endPrivilegedRunnable(PrivilegedRunnable)

Most clients should be unaffected by these changes, as they should inherit implementations from the TransactionalEditingDomainImpl and TransactionImpl classes.

New API Availability:
In next EMFT build.

Old API Removal:
n/a

Tracking:                        
Bugzilla 136156

Clients Taken Care of:        
No dependencies found in GMF (the DiagramEditingDomain inherits the implementations of the new API from TransactionalEditingDomainImpl).

Other Clients' Action:
If you have implemented the Transaction API interfaces from scratch, for some reason, you will need either to delegate to the default implementations (as MSLEditingDomain does) or provide implementations like the defaults in the transaction API impl classes.  Otherwise, no action is required.

Back to the top