sigsetjmp保存目前堆棧環境

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()
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章