From examples/libs/l4re/c++/shared_ds/ds_clnt.cc

line 49 : L4::Cap<L4::Irq> irq = L4Re::Util::cap_alloc.alloc<L4::Irq>();

It seems this template name L4::Cap and the function name L4Re::Util::cap_alloc are a bit misleading or only designate a sub-set of the objects functionality. In this line you are not just requesting permissions but getting a Unix style file handle that you then use to issue commands to the server on line 92:

irq->trigger();

Is my understanding correct? At line 49 you are opening L4 equivalent of a Unix style file handle for sending commands to a server and not requesting permissions or am I over simplifying.

thanksĀ