sigsetjmp 保存目前堆棧環境
相關函數:longjmp, siglongjmp, setjmp
表頭文件:#i nclude <setjmp.h> 函數定義:int sigsetjmp(sigjmp_buf env, int savesigs) 函數說明:
sigsetjmp()會保存目前堆棧環境,而後將目前的地址做一個記號,而在程序其餘地方調用siglongjmp()時便會直接跳到這個記號位置,而後還原堆棧,繼續程序好執行。
參數env爲用來保存目前堆棧環境,通常聲明爲全局變量 參數savesigs若爲非0則表明擱置的信號集合也會一塊保存 當sigsetjmp()返回0時表明已經作好記號上,若返回非0則表明由siglongjmp()跳轉回來。 返回值 :返回0表明侷促存好目前的堆棧環境,隨時可供siglongjmp()調用, 若返回非0值則表明由siglongjmp()返回 附加說明:setjmp()和sigsetjmp()會令程序不易使人理解,請儘可能不要使用 範例:參longjmp() |