diff mbox series

[v3,01/60] service: Change return type of '__connman_service_wispr_start'.

Message ID 20231221223508.2365510-2-gerickson@nuovations.com (mailing list archive)
State Accepted, archived
Headers show
Series Complete 'continuous' Online Check Mode Implementation. | expand

Commit Message

Grant Erickson Dec. 21, 2023, 10:34 p.m. UTC
This changes the return type of '__connman_service_wispr_start' to
allow callers to conditionally handle its return status which, as of
this revision, is fairly simple but will be expanded over time.
---
 src/connman.h |  2 +-
 src/service.c | 10 +++++++++-
 2 files changed, 10 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/src/connman.h b/src/connman.h
index 622a778590b1..796cb202570e 100644
--- a/src/connman.h
+++ b/src/connman.h
@@ -743,7 +743,7 @@  struct connman_ipconfig *__connman_service_get_ipconfig(
 				struct connman_service *service, int family);
 void __connman_service_notify_ipv4_configuration(
 				struct connman_service *service);
-void __connman_service_wispr_start(struct connman_service *service,
+int __connman_service_wispr_start(struct connman_service *service,
                                 enum connman_ipconfig_type type);
 bool __connman_service_is_connected_state(const struct connman_service *service,
 					enum connman_ipconfig_type type);
diff --git a/src/service.c b/src/service.c
index 8e057e051d63..7af0d4a5f60c 100644
--- a/src/service.c
+++ b/src/service.c
@@ -2410,13 +2410,16 @@  static void start_wispr_if_connected(struct connman_service *service)
  *                           "online" reachability check is to be
  *                           started.
  *
+ *  @retval  0          If successful.
+ *  @retval  -EINVAL    If @a service is null or @a type is invalid.
+ *
  *  @sa cancel_online_check
  *  @sa start_online_check
  *  @sa complete_online_check
  *  @sa start_wispr_if_connected
  *
  */
-void __connman_service_wispr_start(struct connman_service *service,
+int __connman_service_wispr_start(struct connman_service *service,
 					enum connman_ipconfig_type type)
 {
 	DBG("service %p (%s) type %d (%s)",
@@ -2424,6 +2427,9 @@  void __connman_service_wispr_start(struct connman_service *service,
 		connman_service_get_identifier(service),
 		type, __connman_ipconfig_type2string(type));
 
+	if (!service)
+		return -EINVAL;
+
 	if (type == CONNMAN_IPCONFIG_TYPE_IPV4)
 		service->online_check_state_ipv4.interval =
 					online_check_initial_interval;
@@ -2433,6 +2439,8 @@  void __connman_service_wispr_start(struct connman_service *service,
 
 	__connman_wispr_start(service, type,
 			online_check_connect_timeout_ms, complete_online_check);
+
+	return 0;
 }
 
 /**