Working on SoftISP
Find a file
Laurent Pinchart f137451817 libcamera: ipc: unix: Make socket operation asynchronous
Blocking socket operation when receiving messages may lead to long
delays, and possibly a complete deadlock, if the remote side delays
sending of the payload after the header, or doesn't send the payload at
all. To avoid this, make the socket non-blocking and implement a simple
state machine to receive the header synchronously with the socket read
notification. The payload read is still synchronous with the receive()
method to avoid data copies.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
2019-07-02 02:37:18 +03:00
Documentation Documentation: Use absolute paths for Doxygen EXCLUDE files 2019-06-09 13:22:17 +03:00
include libcamera: timer: Stop timer when it is deleted 2019-07-01 23:48:03 +02:00
licenses licenses: Add the Developer CoO 2019-01-02 21:59:46 +02:00
package/gentoo/media-libs/libcamera package: gentoo: Add libcamera ebuild 2019-05-02 16:36:16 +03:00
src libcamera: ipc: unix: Make socket operation asynchronous 2019-07-02 02:37:18 +03:00
test test: ipc: unix: Add test for IPCUnixSocket 2019-07-02 02:25:59 +03:00
utils utils: checkstyle.py: Add meson.build checker 2019-07-01 02:24:21 +03:00
.clang-format clang-format: Remove space after template 2019-02-13 13:23:32 +02:00
.gitignore git: Add .gitignore file 2018-12-14 13:23:07 +00:00
meson.build meson: Link against libc++ with compiling with clang 2019-06-19 18:47:56 +03:00
meson_options.txt meson: options: Document the options 2019-04-03 11:44:04 +07:00
README.md README: Update build instructions 2018-11-26 15:52:21 +00:00

libcamera: A complex camera support library for Linux, Android, and ChromeOS

To build and install:

  meson build
  cd build
  ninja
  ninja install