Annotation of coherent/a/usr/man/ALL/longjmp, revision 1.1.1.1

1.1       root        1: 
                      2: 
                      3: longjmp()                General Function               longjmp()
                      4: 
                      5: 
                      6: 
                      7: 
                      8: Return from a non-local goto
                      9: 
                     10: #include <setjmp.h>
                     11: iinntt lloonnggjjmmpp(_e_n_v, _r_v_a_l) jjmmpp_bbuuff _e_n_v; iinntt _r_v_a_l;
                     12: 
                     13: The function call is the only mechanism that C provides to trans-
                     14: fer control between  functions.  This mechanism is inadequate for
                     15: some purposes,  such as handling unexpected  errors or interrupts
                     16: at  lower levels  of  a program.   To answer  this need,  lloonnggjjmmpp
                     17: provides a non-local _g_o_t_o.
                     18: 
                     19: lloonnggjjmmpp restores an environment that had been saved by a previous
                     20: call to  the function sseettjjmmpp.   It returns the value  _r_v_a_l to the
                     21: caller of  sseettjjmmpp, just as if the sseettjjmmpp  call had just returned.
                     22: Note that  lloonnggjjmmpp must not restore the  environment of a routine
                     23: that has  already returned.  The type  declaration for jjmmpp_bbuuff is
                     24: in the header  file sseettjjmmpp.hh.  The environment saved includes the
                     25: program counter, stack  pointer, and stack frame.  These routines
                     26: do not restore register variables in the environment returned.
                     27: 
                     28: ***** Example *****
                     29: 
                     30: For an example of this function, see the entry for longjmp.
                     31: 
                     32: ***** See Also *****
                     33: 
                     34: general functions, setjmp()
                     35: 
                     36: ***** Notes *****
                     37: 
                     38: Programmers should  note that many user-level  routines cannot be
                     39: interrupted and reentered  safely.  For that reason, improper use
                     40: of longjmp  and setjmp can  result in the  creation of mysterious
                     41: and irreproducible bugs.  Do not attempt to use longjmp within an
                     42: exception handler.
                     43: 
                     44: 
                     45: 
                     46: 
                     47: 
                     48: 
                     49: 
                     50: 
                     51: 
                     52: 
                     53: 
                     54: 
                     55: 
                     56: 
                     57: 
                     58: 
                     59: 
                     60: 
                     61: 
                     62: 
                     63: 
                     64: COHERENT Lexicon                                           Page 1
                     65: 
                     66: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.