A threadsafe wrapper for a Glib::SignalChildWatch.
More...
#include <signal_wrapper.h>
Detailed Description
template<>
class sigx::signal_wrapper< Glib::SignalChildWatch >
A threadsafe wrapper for a Glib::SignalChildWatch.
Member Typedef Documentation
typedef bool sigx::signal_wrapper< Glib::SignalChildWatch >::result_type |
typedef Glib::SignalChildWatch sigx::signal_wrapper< Glib::SignalChildWatch >::signal_type |
typedef sigc::slot<bool, GPid, int> sigx::signal_wrapper< Glib::SignalChildWatch >::slot_type |
Constructor & Destructor Documentation
sigx::signal_wrapper< Glib::SignalChildWatch >::signal_wrapper |
( |
| ) |
[inline] |
Constructs an empty signal_wrapper.
- Exceptions:
-
Might | throw a std::bad_alloc exception (from dispatchable's ctor) |
Creates a signal_wrapper from a signal source.
- Parameters:
-
_A_disp | The dispatchable to operate on |
_A_sigsource | A double pointer to the server thread's signal source. |
Member Function Documentation
template<typename T_functor >
connection_wrapper sigx::signal_wrapper< Glib::SignalChildWatch >::connect |
( |
const T_functor & |
_A_func, |
|
|
GPid |
pid, |
|
|
int |
priority = Glib::PRIORITY_DEFAULT |
|
) |
| const [inline] |
Connects a functor, tunnels it automatically if not yet tunneled and activates validity tracking for sigc::trackableS.
auto tunneling is successful only if the passed in functor is a "dispatchable" functor, i.e. a functor on a dispatchable's method or one explicitly created with "dispatch_with". You will get compiler errors if the dispatchable can't be deduced from the passed in functor.
- Note:
- At the moment it is only possible to pass in a non-tunneled functor or a toplevel tunneled functor due to the fact that the visit_each mechanism is turned off for the tunnel functor (otherwise there would be the problem of not threadsafe access to the sigc::trackable base of the of a dispatchable object..
-
passed in functor must not be a slot or adapt a slot; we have to apply this restriction because slots might have bound trackables that can cause non-threadsafe access to the passed in slot which will live in the context of the server thread
- Attention:
- All sigc::trackableS and the original dispatchable contained in the passed functor must belong to the context of the calling thread.
- Returns:
- sigx::connection_wrapper A threadsafe connection wrapper
- Note:
- asynchronous
References sigx::signal_wrapper_base::connect().
Field Documentation
The documentation for this class was generated from the following file: