
semop操作的sembuf結構的sem_flg成員為ipC_NOWAIT和SEM_UNDO。 1.sem_flg公認的標志是 IPC_NOWAIT 和 SEM_UNDO。如果操作指定SEM_UNDO,它將會自動撤消該進程終止時。在標準操作程序中的操作是在數組的順序執行、原子的,那就是,該操作要么作為一個完整的單元,要么不。如果不是所有操作都可以立即執行的系統調用的行為取決于在個人sem_flg領域的IPC_NOWAIT標志的存在。 2.sembuf結構的sem_flg成員為SEM_UNDO時,它將使操作系統跟蹤當前進程對這個信號量的修改情況,如果這個進程在沒有釋放該信號量的情況下終止,操作系統將自動釋放該進程持有的信號量. 3.只有將 sem_flg 指定為 SEM_UNDO 標志后,semadj (所指定信號量針對調用進程的調整值)才會新.此外,如果此操作指定SEM_UNDO,系統更新過程中會撤消此信號燈的計數(semadj)。此操作可以隨時進行,它永遠不會強制等待的過程。調用進程必須有改變信號量集的權限。新聞熱點
疑難解答