diff options
author | Elias Naur <mail@eliasnaur.com> | 2023-03-11 13:05:25 -0600 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2023-03-26 11:48:18 +0300 |
commit | d942bdc913c5a7f0895bfcb0180db3f279be246e (patch) | |
tree | 943e9f40827488d8275159d4428e3db5d07b4f6d /src/apps/common/image.cpp | |
parent | e39f046f660a6d0954d81b92bd183e7ba679fa56 (diff) |
libcamera: v4l2_device: openat(2) with O_CLOEXEC to cleanup after exec(3)
When an executable using libcamera calls exec(3) while a camera is in
use, file descriptors corresponding to the V4L2 video devices are kept
open has they have been created without O_CLOEXEC. This results in the
video devices staying busy, preventing the new executable from using
them:
[91] ERROR V4L2 v4l2_videodevice.cpp:1047 /dev/video0[149:cap]: Unableto set format: Resource busy
Fix this by opening video devices with O_CLOEXEC, which is generally a
good idea in libraries.
Signed-off-by: Elias Naur <mail@eliasnaur.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src/apps/common/image.cpp')
0 files changed, 0 insertions, 0 deletions