Merge Request #11 - July¶
Features¶
Trackableconstructor does not need a pointer tothisanymore- Split libqi in two projects to allow not installing tools like qicli
- Added
Future::isValidto check if a future is associated to a promise - Added comparison operators to
Path - LogProvider: put back
initializeLoggingwith default argument File: addedwaitForFinishedwhich returns a cancelable future- Hidden services (whose name start with ‘_’) now trigger
qi::Session::serviceRegistered,qi::Session::serviceUnregisteredandqi::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