In the controller manager, starting and stopping a controller is done inside the realtime [update()](https://github.com/ros-controls/ros_control/blob/hydro-devel/controller_manager/src/controller_manager.cpp#L83-L84) method. Controller construction and `init()`ialization is non-realtime ,though.

I just checked that the [ControllerBase](https://github.com/ros-controls/ros_control/blob/hydro-devel/controller_interface/include/controller_interface/controller_base.h) class documentation is not using the `\name` blocks present in other parts of ros_control. That, at least, can be improved:

```c++
/** \name Real-Time Safe Functions
*\{*/
...
/*\}*/


/** \name Non Real-Time Safe Functions
*\{*/
...
/*\}*/
```