表頭檔案:#include
函式定義:int sigsetjmp(sigjmp_buf env, int s**esigwww.cppcns.coms)
函式說明:sigsetjmp()會儲存目前堆疊環境,然後將目前的位址作乙個記號,
而在程式其他地方呼叫siglongjmp()時便會直接跳到這個記號位置,然後還原堆疊,繼續程式的執行。
引數env為用來儲存目前堆疊環境,一般宣告為全域性變數
引數s**esigs若為非0則代表擱置的訊號集合也會一塊儲存
當sigsetjmp()返回0時代表已經做好記號上,若返回非0則代表由si程式設計客棧glongjmp()跳轉回來。
返回:若直接呼叫則為0,若從siglongjmp呼叫返回則為非0
例項:複製** **如下:
#include
#include
#include
#include
#include
sigjmp_buf jmp_env;
static void connect_alarm(int)
程式設計客棧int main()
}sleep(run_time);
printf("running...\n");
out:
if (sec_timeout)
return 0;
}程式執行:
當ec_timeout = 3, run_time = 2時:
timeout = 3, run_time = 2
set timeout
running...
cancel timeout
當ec_timeout = 3, run_time = 4時:
timeout = 3, run_time = 4
set timeout
timeout
cancel timeout
本文標題: sigsetjmp的用法總結
本文位址:
setjmp與sigsetjmp的區別
setjmp與sigsetjmp的作用我就不多描述了,這篇博文只是我的乙個隨筆,希望想弄清楚這2個函式的區別的童鞋做乙個參考,後面我會附帶乙個例子詳細說明一下,sigsetjmp的能夠儲存被阻塞的訊號而setjmp不會,我們通過下面的例子描述一下。setjmp是否保留被阻塞的訊號 include i...
of的用法總結
文章 版權歸原作者!詞的用法分析原則一般是 詞不離句 即在具體語境中分析其用法。你沒有提供語境,那就全面的學習一下of的用法吧。of v v v f prep.屬於 的 the king of england英格蘭國王 含有 的,裝有 的 a book of pictures一本畫冊 a glass...
UISwitch的用法總結開關用法
1.uiswitch的初始化 uiswitch switchview uiswitch alloc initwithframe cgrectmake 4.0f,16.0f,100.0f,28.0f 2.設定uiswitch的初始化狀態 switchview.on yes 設定初始為on的一邊 3.u...