diff options
author | Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> | 2022-03-16 16:39:57 +0100 |
---|---|---|
committer | Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> | 2022-05-25 03:03:44 +0200 |
commit | 63d7c7cb75e49abe7acd9f1e8c7207e76a6a89c3 (patch) | |
tree | 20c25e91f49039a06186a1dd9b84d06dff9c9567 | |
parent | 033570fa4f270cb7e1c76a89d1dd7d82101d6da4 (diff) | |
download | hardware_replicant_libsamsung-ipc-63d7c7cb75e49abe7acd9f1e8c7207e76a6a89c3.tar.gz hardware_replicant_libsamsung-ipc-63d7c7cb75e49abe7acd9f1e8c7207e76a6a89c3.tar.bz2 hardware_replicant_libsamsung-ipc-63d7c7cb75e49abe7acd9f1e8c7207e76a6a89c3.zip |
devices: generic: try to fix crash
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
-rw-r--r-- | samsung-ipc/devices/generic/generic.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/samsung-ipc/devices/generic/generic.c b/samsung-ipc/devices/generic/generic.c index 2197892..ca5a295 100644 --- a/samsung-ipc/devices/generic/generic.c +++ b/samsung-ipc/devices/generic/generic.c @@ -672,7 +672,19 @@ int generic_poll(__attribute__((unused)) struct ipc_client *client, //#if GENERIC_DEBUG // ipc_client_log(client, "%s: transport_data->fd: %d", __func__, transport_data->fd); //#endif - rc = poll(&fd, 1, (timeout->tv_sec * 1000) + (timeout->tv_usec / 1000)); + + if (timeout == NULL) { + rc = poll(&fd, 1, -1); + ipc_client_log(client, "%s: poll(&fd, 1, -1); => %d", __func__, rc); + + } else { + rc = poll(&fd, 1, (timeout->tv_sec * 1000) + (timeout->tv_usec / 1000)); + ipc_client_log( + client, + "%s: poll(&fd, 1, %d); => %d", __func__, + (timeout->tv_sec * 1000) + (timeout->tv_usec / 1000), + rc); + } if (rc == -1) { rc = errno; ipc_client_log(client, |