diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2019-11-27 05:16:56 +0200 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2019-12-09 15:32:40 +0200 |
commit | 7df177fd889624c4b149ba2ecabb4969ad8c2bee (patch) | |
tree | b8ebfe9bea24890196f4e01256ac3004608abfa5 | |
parent | 07e3933570979046124c517b22cf4420daf4102f (diff) |
libcamera: object: Document danger of deleting object from other thread
Object instances receive messages dispatched from the event loop of the
thread they belong to. Deleting an object from a different thread is
thus dangerous, unless the caller ensures that no message delivery is in
progress. Document this in the Object class documentation.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
-rw-r--r-- | src/libcamera/object.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/libcamera/object.cpp b/src/libcamera/object.cpp index 1f787271..e76faf48 100644 --- a/src/libcamera/object.cpp +++ b/src/libcamera/object.cpp @@ -40,6 +40,10 @@ LOG_DEFINE_CATEGORY(Object) * implementing easy message passing between threads by inheriting from the * Object class. * + * Deleting an object from a thread other than the one the object is bound to is + * unsafe, unless the caller ensures that the object isn't processing any + * message concurrently. + * * Object slots connected to signals will also run in the context of the * object's thread, regardless of whether the signal is emitted in the same or * in another thread. |