Skip to Content
LINUX系統程式設計 第二版
book

LINUX系統程式設計 第二版

by Robert Love
December 2013
Intermediate to advanced
496 pages
8h 57m
Chinese
GoTop Information, Inc.
Content preview from LINUX系統程式設計 第二版
信號
|
375
int sigorset (sigset_t *dest, sigset_t *left, sigset_t *right);
int sigandset (sigset_t *dest, sigset_t *left, sigset_t *right);
如果
set
所指定的信號集是空的,則
sigisemptyset()
會傳回
1
,否則會傳回
0
sigorset()
會把信號集
left
right
的聯集(二元 OR 運算)擺入
dest
sigandset()
把信號集
left
right
的交集(二元 AND 運算)擺入
dest
。執行成功時,這兩個函式
都會傳回
0
;發生錯誤時,則會傳回
-1
並把
errno
設定為
EINVAL
儘管這些函式都很有用,但是想要與 POSIX 完全相容的程式應該避免使用這些函式。
阻擋信號
稍早,我們曾討論過可再進入性(reentrancy)以及在任何時候非同步執行之信號處理程
序所引發的問題。我們探討了不可以在信號處理程序中叫用的函式,因為它們本身就不
是可再進入的。
但如果你的程式需要讓一個信號處理程序與程式中其他部分共享資料,該怎麼做?如果
你的程式正在執行的部分不想要遭到任何的中斷,包括來自信號處理程序的,該怎麼
做?我們將以上這些部分稱為程式的
關鍵區
critical region
),而且我們會透過暫時中
止信號的遞送來保護它們。我們會說信號遭到了
阻擋
blocked
)。任何信號只要遭到阻
擋就不會被處理,除非它們已不再遭到阻擋。一個行程可以阻擋任何數量的信號;遭到 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

優雅的SciPy|Python科學研究的美學

優雅的SciPy|Python科學研究的美學

Juan Nunez-Iglesias, Stéfan van der Walt, Harriet Dashnow
C++语言导学(原书第2版)

C++语言导学(原书第2版)

本贾尼 斯特劳斯特鲁普

Publisher Resources

ISBN: 9789862769812