aboutsummaryrefslogtreecommitdiff
path: root/common/ipc-client.c
AgeCommit message (Collapse)Author
2024-02-23Define _POSIX_C_SOURCE globallySimon Ser
See discussion in https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4555
2020-07-30ipc: fix aligment issue of data bufferAntonin Décimo
The pointer `data` is cast to a more strictly aligned pointer type. To prevent issues, the `data32` buffer is removed and its occurrences are replaced with an offset from the `data` buffer.
2019-08-12ipc-client: remove useless free for failed mallocAntonin Décimo
2019-05-27common/ipc-client: remove ipc recv timeout logBrian Ashworth
This just removes the ipc recv timeout log statement in `ipc_recv_set_timeout`. The `tv_sec` field of `struct timeval` has varying types and/or sizes depending on the platform and architecture. On some of these, the current format string will cause compilation errors. Additionally, the log statement is not extremely useful and the function is currently only used by swaymsg, which has a hardcoded log level that will prevent it from even being shown, so there is no point in even keeping it.
2019-04-17swaymsg: add timeout and type checksBrian Ashworth
This adds a 3 second timeout to the initial reply in swaymsg. This prevents swaymsg from hanging when `swaymsg -t get_{inputs,seats}` is used in i3. The timeout is removed when waiting for a subscribed event or monitoring for subscribed events. This also adds type checks to commands where i3 does not reply with all of the properties that sway does (such as `modes` in `get_outputs`). This is mostly just a behavioral adjustment since swaymsg should run on i3. When running under i3, some command reply's (such as the one for `get_outputs) may have more useful information in the raw json than the pretty printed version.
2019-01-21Replace wlr_log with sway_logM Stoeckl
This commit mostly duplicates the wlr_log functions, although with a sway_* prefix. (This is very similar to PR #2009.) However, the logging function no longer needs to be replaceable, so sway_log_init's second argument is used to set the exit callback for sway_abort. wlr_log_init is still invoked in sway/main.c This commit makes it easier to remove the wlroots dependency for the helper programs swaymsg, swaybg, swaybar, and swaynag.
2019-01-19Fix backup methods in get_socketpath for IPC clientM Stoeckl
Previously, the success of `getline` was tested by checking if the buffer it allocates is nonempty and has a nonzero first byte. As `getline` does not explicitly zero out its memory buffer, this may fail (e.g., with AddressSanitizer). Instead, we check that at least one character was returned on standard output. Also, trailing newlines (if present) are now removed.
2019-01-16Use static arrays where possible.Connor E
2019-01-16Remove usage of VLAs.Connor E
2019-01-01Remove readline.cIan Fan
All occurrences of read_line have been replaced by getline. peek_line has been absorbed into detect_brace.
2018-09-02prevent ub caused by misaligned stores/loadstaiyu
2018-08-06ipc-client: fix memory leaks in get_socketpathIan Fan
2018-07-09Update for swaywm/wlroots#1126emersion
2018-04-13Fix gcc string truncation warningsDominique Martinet
2018-03-29Allow sway IPC clients to fall back to i3 socketDrew DeVault
2018-01-05sway: change all sway_log to wlr_logDominique Martinet
2017-03-10UnGNUify the codebaseDrew DeVault
2016-12-15Handle malloc failure in ipc_recv_responseDrew DeVault
2016-09-01Reorganize includesDrew DeVault
2016-08-30Fix to make ipc client code FreeBSD compatible.Johannes Lundberg
2016-05-01common: fix potential buffer overflowEric Engestrom
2016-03-22Abort when receiving 0 bytes in IPC callMikkel Oscar Lyderik
When sway crashes a swaybar process is sometimes left behind running at 100% CPU. This was caused by the swaybar trying to retrieve an IPC response from the closed sway socket. This patch fixes the problem by aborting when the socket has been closed (recv return 0). Fix #528
2016-01-03Add type to returned response.Mikkel Oscar Lyderik
Makes `ipc_recv_response` return a struct with size, type and payload rather than just the payload string. This is useful if the type has to be checked on the client.
2015-12-13Subscribe to workspace change events and redrawDrew DeVault
2015-11-28Fix incorrect #include on ipc-client.cDrew DeVault
2015-11-27Add command line to swaygrabDrew DeVault
Also modifies IPC client so that we can work with persistent connections.
2015-11-27Move IPC client into common, refactor IPCDrew DeVault