int mwbegin(float secs, int flags);
int mwcommit();
int mwabort();
However this requires that all stable storage support the XA interface, or something similar. In addition MidWay need a XA compatible transaction manager. This is not yet implemented in MidWay.
Another purpose of these calls are to set a deadline on service calls. If secs is not 0.0, the API will mark all service calls with a deadline, if processing in the server begins after the deadline expires, the server will return the request immediately with ETIME without sending it to the service routine. This is actually a important practice in all high availability application. It is always a possibility that you may experience a burst of requests that exceed the servers ability to process them. Without a deadline the servers will process them all and you may have a situation where the servers processes really old requests. Another reason may be that a service routine hangs for a long time, and a lot of requests that not longer of interest are queued. Since the server will discard requests overdue, the recovery time of a hang or overload is substantially shorter. mwcommit and abort currently only set the deadline back to 0 (no deadline).
This functionality will be supported in the future by setting the MWNOTRAN flag. In order to be forward compatible MWNOTRAN should always be set when you are only in need of a deadline.