> Usually, reports have the form of XML with the report name as top-level
> node type. So in this common case, the report consumer may check for
> this condition, e.g., to see if a pointer report as issued by nitpicker
> is valid, one may do:
> 
>   if (_config.xml().type() == "pointer") ...
> 
> If nitpicker closes the report session, report_rom will clear the
> dataspace. So the dataspace will start with a 0 instead of the top-level
> XML node. In this case, the 'Attached_rom_dataspace` returns the
> '<empty/>' node. In the hypothetical case that a valid report is called
> "empty", one could still check whether the dataspace contains a
> null-termination at the beginning:
> 
>   if (_config.local_addr<char const>()[0]) ...
> 
> In short, it is already possible to distingish both cases, isn't it?

Thanks for the clarification, Norman. I wasn't aware that the 
'Attached_rom_dataspace' automagically returns the '<empty/>' node. Works for 
me ;-)

> > Or to put it another way: Initially, i.e. if no
> > report session was created (yet), the report_rom delivers an invalid
> > dataspace to the ROM clients. Shouldn't the report_rom restore this
> > state after the report session was closed?  
> 
> You raise a good point. But instead of confronting the ROM client with
> an invalid dataspace (which most ROM clients do not anticipate and
> therefore don't handle), I would rather deliver a zeroed dataspace
> initially to achieve the desired consistency. Thanks for pointing out
> this current deficiency!

Perfect.

------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
_______________________________________________
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main

Reply via email to