POSIX quy định: khi nhiều tín hiệu standard (không real-time) đang pending được bỏ chặn cùng lúc, thứ tự giao không xác định, nhưng nhiều cài đặt Linux giao theo số hiệu tăng dần. Bài này dùng quy ước đó.
Xử lý sự kiện:
BLOCK n: chặn n (bỏ qua nếu 9/19).SIG n: nếu bị chặn → pending (không trùng); nếu không → giao ngay, in DELIVER n.UNBLOCKALL: bỏ chặn TẤT CẢ; mọi tín hiệu đang pending được giao theo số hiệu tăng dần, mỗi cái in DELIVER n; sau đó mask và pending rỗng.In các dòng DELIVER n theo đúng thứ tự xảy ra.
BLOCK 15 BLOCK 2 SIG 15 SIG 2 UNBLOCKALL → DELIVER 2 rồi DELIVER 15.
Nhiều dòng BLOCK n / SIG n / UNBLOCKALL.
Số sự kiện ≤ 2000.
Các dòng DELIVER n theo thứ tự giao.
Ví dụ:
Đầu vào:
BLOCK 15
BLOCK 2
SIG 15
SIG 2
UNBLOCKALL
Đầu ra:
DELIVER 2
DELIVER 15
Giải thích:
Đang tải editor...