logo
Free, Micro AI Code Reviews That Run on Git Commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, Micro AI Code Reviews That Run on Git Commit | Product Hunt git-lrc - Free, Micro AI Code Reviews That Run on Git Commit | Product Hunt

Xpaoom - What happens when XPA runs out of memory?

Description

       When an XPA server or client cannot allocate memory, it will attempt to output an error message and then
       exit. If this is not satisfactory (e.g., perhaps your program is interactive and can recover from OOM
       errors), you can tell XPA to call longjmp() to go to a recovery branch. To pass the requisite jmp_buf
       variable to XPA, make the following call:

         XPASaveJmp(void *env);

       The value of env is the address of a jmp_buf variable that was previously passed to setjmp(). For
       example:

         jmp_buf env;
         ...
         if( setjmp(jmp_buf) != 0 ){
           /* out of memory -- take corrective action, if possible */
         } else {
           /* save env for XPA */
           XPASaveJmp((void *)&jmp_buf);
         }
         // enter main loop ...

Name

Xpaoom-WhathappenswhenXPArunsoutofmemory?

See Also

       See xpa(n) for a list of XPA help pages

version 2.1.15                                    July 23, 2013                                        xpaoom(7)

Synopsis

       When XPA can't allocate memory, it exits. You can arrange to have it call longjmp() instead.

See Also