> Multi-threading is tricky in this driver, see the comments in
> Camera1394Driver::poll(). I am wondering if we could just call the
> updater there in the poll() thread, instead of creating another
> thread. Is there any large overhead in calling the updater?

The updater is publishing in /diagnostics at a fixed rate so no it is probably
not that time consumming. However, it is still a shame to slow down the
whole node.

Publishing won't slow down the node besides the effort to build the message(and one memcopy if you don't use a boost_shared pointer).  When you call publish, the actual network activity will be handled by the ROS thread.  
 
Tully