I have been trying to use the shared memory library and have learnt that it uses signals to notify parties that participate in communication.
When I looked into the library code, I found that it implements signals with IRQs.
However, I could not figure out which IRQ the library use.
I have noticed that l4shmc_add_signal creates an IRQ object, but no IRQ number is used.
The only thing that appear like an IRQ number is the second argument of l4_irq_attach, which is called by l4shmc_attach_signal_to.
But I haven't found any clue about the meaning of the argument.
Would you please tell me what the second argument of l4_irq_attach is?
I have also noticed that l4shmc_add_signal registered an IRQ object to the namespace of the shared memory area.
Does this mean that the IRQs used to implement signals are guaranteed not to conflict with any IRQ used by the hardware or any other software IRQ, regardless of the ORDER in which they are created?