Merge Request #11 - July¶
Features¶
Trackable
constructor does not need a pointer tothis
anymore- Split libqi in two projects to allow not installing tools like qicli
- Added
Future::isValid
to check if a future is associated to a promise - Added comparison operators to
Path
- LogProvider: put back
initializeLogging
with default argument File
: addedwaitForFinished
which returns a cancelable future- Hidden services (whose name start with ‘_’) now trigger
qi::Session::serviceRegistered
,qi::Session::serviceUnregistered
andqi::Session::waitForService
, like normal services already did
Bugfixes¶
- Removed busy loop on thread pool join (on
Application
‘s destructor) - BoundObject: fixed a deadlock when the destructor of an object would make a remote call over the network
- Future: fixed
thenR<T>
withT != void
- Future: fixed
andThenR<void>
- Object: call<void> did not block in case the function returned a future
- QI_ONCE: Fixed deadlock when the code throws (the behavior is now similar to
std::call_once
) - Java bindings: fix deadlock when signal’s callbacks would do a call over the network
- LogProvider: fixed crash on program exit
- PeriodicTask: do not stop the periodic task when start is called
- Session: do not connect to public endpoints if the service is local
- Strand: fixed race condition that could lead to a deadlock when calling a stranded function while being on the strand