Provided by: atfs-dev_1.4pl6-11_amd64 bug

NAME

       stAbortThis, stThisTransaction - simple transaction handling

SYNOPSIS

       #include <config.h>
       #include <sttk.h>

       void         stAbortThis (int domsg);

       struct stTransactionstThisTransaction;

DESCRIPTION

       stAbortThis  is  part  of  a  simple  transaction  mechanism  on the basis of setjmp(3) and longjmp(3). A
       transacion is started by setting a  return  point  calling  setjmp(3)  and  may  be  aborted  by  calling
       stAbortThis.  This  outputs a short abort message, cleans up the temporary files (stRmRegisteredFiles(3))
       and performs a longjmp(3) operation, returning to the transaction start point.

       The structure variable stThisTransaction carries information about the current transaction.  It  has  the
       following fields:
       struct stTransaction {
         char tr_fname[MAXPATHLEN+1];
         int tr_done;
         int tr_seqno;
         int tr_rc;
         jmp_buf tr_env;
       };

       When  setting the transaction return point by calling setjmp(3) the tr_env field must be used as argument
       to setjmp. The name of the concerned file should be stored in tr_fname field and the tr_done flag  should
       be  cleared.   tr_seqno  is  the  serial  number  of the current transaction and must be increased at the
       beginning of each new transaction. The tr_rc return code can be set to an appropriate  return  code  when
       something went wrong and the transaction was aborted.  When not set by the application, tr_rc will be set
       nun null by stAbortThis on abortion of the transaction. On successful completion, tr_done should  be  set
       TRUE.

SEE ALSO

       stRmRegisteredFiles(3), setjmp(3), longjmp(3).