diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/libcamera/ipa_proxy.cpp | 10 | ||||
-rw-r--r-- | src/libcamera/proxy/ipa_proxy_thread.cpp | 3 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/libcamera/ipa_proxy.cpp b/src/libcamera/ipa_proxy.cpp index 23be24ad..ff4d7fd1 100644 --- a/src/libcamera/ipa_proxy.cpp +++ b/src/libcamera/ipa_proxy.cpp @@ -146,6 +146,16 @@ std::string IPAProxy::configurationFile(const std::string &name) const } /** + * \fn IPAProxy::stop() + * \brief Stop the IPA proxy + * + * This function stops the IPA and releases all the resources acquired by the + * proxy in start(). Calling stop() when the IPA proxy hasn't been started or + * has already been stopped is valid, the proxy shall treat this as a no-op and + * shall not forward the call to the IPA. + */ + +/** * \brief Find a valid full path for a proxy worker for a given executable name * \param[in] file File name of proxy worker executable * diff --git a/src/libcamera/proxy/ipa_proxy_thread.cpp b/src/libcamera/proxy/ipa_proxy_thread.cpp index aa403e22..eead2883 100644 --- a/src/libcamera/proxy/ipa_proxy_thread.cpp +++ b/src/libcamera/proxy/ipa_proxy_thread.cpp @@ -121,6 +121,9 @@ int IPAProxyThread::start() void IPAProxyThread::stop() { + if (!running_) + return; + running_ = false; proxy_.invokeMethod(&ThreadProxy::stop, ConnectionTypeBlocking); |