return check
This commit is contained in:
parent
e23c8c4750
commit
c505052353
3 changed files with 22 additions and 4 deletions
|
@ -25,6 +25,7 @@
|
|||
#ifndef __DBUSXX_EVENTLOOP_INTEGRATION_H
|
||||
#define __DBUSXX_EVENTLOOP_INTEGRATION_H
|
||||
|
||||
#include <errno.h>
|
||||
#include "api.h"
|
||||
#include "dispatcher.h"
|
||||
#include "util.h"
|
||||
|
@ -66,10 +67,11 @@ public:
|
|||
{
|
||||
//pipe to create a new fd used to unlock a dispatcher at any
|
||||
// moment (used by leave function)
|
||||
pipe(_pipe);
|
||||
int ret = pipe(_pipe);
|
||||
if (ret == -1) throw Error("PipeError:errno", toString(errno).c_str());
|
||||
|
||||
_fdunlock[0] = _pipe[0];
|
||||
_fdunlock[1] = _pipe[1];
|
||||
|
||||
}
|
||||
|
||||
~BusDispatcher()
|
||||
|
|
|
@ -25,6 +25,9 @@
|
|||
#ifndef __DBUSXX_UTIL_H
|
||||
#define __DBUSXX_UTIL_H
|
||||
|
||||
#include <sstream>
|
||||
#include <iostream>
|
||||
#include <iomanip>
|
||||
#include "api.h"
|
||||
#include "debug.h"
|
||||
|
||||
|
@ -268,6 +271,15 @@ private:
|
|||
C *_c; M _m;
|
||||
};
|
||||
|
||||
/// create std::string from any number
|
||||
template <typename T>
|
||||
std::string toString (const T &thing, int w = 0, int p = 0)
|
||||
{
|
||||
std::ostringstream os;
|
||||
os << std::setw(w) << std::setprecision(p) << thing;
|
||||
return os.str();
|
||||
}
|
||||
|
||||
} /* namespace DBus */
|
||||
|
||||
#endif//__DBUSXX_UTIL_H
|
||||
|
|
|
@ -33,6 +33,7 @@
|
|||
#include <sys/poll.h>
|
||||
|
||||
#include <dbus/dbus.h>
|
||||
#include <errno.h>
|
||||
|
||||
using namespace DBus;
|
||||
|
||||
|
@ -87,7 +88,10 @@ void BusDispatcher::enter()
|
|||
void BusDispatcher::leave()
|
||||
{
|
||||
_running = false;
|
||||
write(_fdunlock[1],"exit",strlen("exit"));
|
||||
|
||||
int ret = write(_fdunlock[1],"exit",strlen("exit"));
|
||||
if (ret == -1) throw Error("WriteError:errno", toString(errno).c_str());
|
||||
|
||||
close(_fdunlock[1]);
|
||||
close(_fdunlock[0]);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue