we know that applications can explicitly block and unblock selected signals using the sigprocmask function, so let's say we have used this function to block SIGINT, so the kernel sets the corresponding bit in the blocked vector. If we run the program and press Ctrl + C to send SIGINT, since this signal is currently blocked, there is no action to the process( the process won't be terminated).
My question is, even though this signal is blocked, will kernel also sets the corresponding bit in the pending vector so that when we unblock this signal, SIGINT in the pending will be immediately receiving by the process? or the previous SIGINT doesn't count and you have to trigger a new SIGINT?