PengZheng

Results 75 comments of PengZheng

> I think it is maybe better to merge this PR after 2.4.0. Then some additional work can be done to prevent/refactor some strange constructions (e.g. the log_helper service tracker)....

I just noticed that C++ version of per bundle service factory is not implemented. Recently one user requiring it (as described by #766) is forced to use the SOD pattern,...

> Does it even return a ETIMEDOUT code? Yes, it does. I found it used in several high profile projects including musl/chromium. https://chromium.googlesource.com/v8/v8/+/62f929ff4cf322bc05e3a384c4ad18005f50ebda/src/base/platform/condition-variable.cc#81 It's similar to `pthread_cond_timedwait` but with relative...

The following comment confused me: ```C //When removing the event celix_bundleContext_removeScheduledEvent(fw->getFrameworkBundleContext()->getCBundleContext(), eventId); //Then the log callback is called at least one more time with a warning log message, because remove...

It has been bisected to be introduced by 6bb8de50. But as the commit log said, `celix_framework_stopBundleEntry` is unnecessary, since `celix_framework_uninstallBundleEntry` will stop the bundle first. It seems more like a...

I've verified that adding `celix_framework_stopBundleEntry` back will "fix" the problem. ```C size = celix_arrayList_size(stopEntries); for (int i = size-1; i >= 0; --i) { //note loop in reverse order ->...

I suspect this is a lifecycle management bug of `TestExportImportRemoteServiceFactory`/C++ RSA. Note that `ComponentImportRegistration` produced by `CalculatorImportServiceFactory::importService` is NOT managed by `CalculatorImportServiceFactory`. That means if `TestExportImportRemoteServiceFactory` bundle is uninstalled, `RemoteServiceAdmin`...

Currently, `IImportRegistration` can not tell which `IImportServiceFactory` it comes from. Otherwise, we can remove it from `RemoteServiceAdmin` when the factory is stopped. Thus, it turns out to be a design...

This PR manifests a deadlock in `test_components_ready`. ~~More investigation is needed.~~ It turns out to be an insidious ABBA deadlock: 1. When `celix_componentsReadyCheck_destroy` is called, ready_check's `fsmMutex` is locked, and...

Hi, Shaivi. We're currently in the process of modernize our code base. For an example of the so-called "modern" error handling style, check `rsaShm_create`. Let me warn you that some...