[Tarantool-patches] [PATCH 02/13] popen: remove retval from popen_state()

Alexander Turenko alexander.turenko at tarantool.org
Fri Apr 10 05:50:40 MSK 2020


After the previous commit ('popen: require popen handle to be non-NULL')
it turns out that popen_state() function always succeeds. There is no
reason to return a success / failure value from it.

Part of #4031
---
 src/lib/core/popen.c   |  4 +---
 src/lib/core/popen.h   |  2 +-
 test/unit/popen.c      |  8 +++-----
 test/unit/popen.result | 13 ++++++-------
 4 files changed, 11 insertions(+), 16 deletions(-)

diff --git a/src/lib/core/popen.c b/src/lib/core/popen.c
index 5f74bc3ce..3a0ac4b53 100644
--- a/src/lib/core/popen.c
+++ b/src/lib/core/popen.c
@@ -374,7 +374,7 @@ popen_sigchld_handler(EV_P_ ev_child *w, int revents)
 /**
  * Get current child state.
  */
-int
+void
 popen_state(struct popen_handle *handle, int *state, int *exit_code)
 {
 	assert(handle != NULL);
@@ -391,8 +391,6 @@ popen_state(struct popen_handle *handle, int *state, int *exit_code)
 			*exit_code = WTERMSIG(handle->wstatus);
 		}
 	}
-
-	return 0;
 }
 
 /**
diff --git a/src/lib/core/popen.h b/src/lib/core/popen.h
index 9cbfed60c..587d6f7df 100644
--- a/src/lib/core/popen.h
+++ b/src/lib/core/popen.h
@@ -163,7 +163,7 @@ popen_read_timeout(struct popen_handle *handle, void *buf,
 		   size_t count, unsigned int flags,
 		   ev_tstamp timeout);
 
-extern int
+extern void
 popen_state(struct popen_handle *handle, int *state, int *exit_code);
 
 extern const char *
diff --git a/test/unit/popen.c b/test/unit/popen.c
index caea9d552..b71e5485b 100644
--- a/test/unit/popen.c
+++ b/test/unit/popen.c
@@ -26,8 +26,7 @@ static int
 wait_exit(struct popen_handle *handle, int *state, int *exit_code)
 {
 	for (;;) {
-		if (popen_state(handle, state, exit_code))
-			return -1;
+		popen_state(handle, state, exit_code);
 		if (*state == POPEN_STATE_EXITED ||
 		    *state == POPEN_STATE_SIGNALED)
 			break;
@@ -61,7 +60,7 @@ popen_write_exit(void)
 	};
 	int rc;
 
-	plan(7);
+	plan(6);
 	header();
 
 	handle = popen_new(&opts);
@@ -69,8 +68,7 @@ popen_write_exit(void)
 	if (handle == NULL)
 		goto out;
 
-	rc = popen_state(handle, &state, &exit_code);
-	ok(rc == 0, "popen_state");
+	popen_state(handle, &state, &exit_code);
 
 	ok(state == POPEN_STATE_ALIVE, "state %s",
 	   popen_state_str(state));
diff --git a/test/unit/popen.result b/test/unit/popen.result
index d7894d1db..f5e6bc2ca 100644
--- a/test/unit/popen.result
+++ b/test/unit/popen.result
@@ -1,14 +1,13 @@
 1..3
 	*** main_f ***
-    1..7
+    1..6
 	*** popen_write_exit ***
     ok 1 - popen_new
-    ok 2 - popen_state
-    ok 3 - state alive
-    ok 4 - write flag check
-    ok 5 - write to pipe
-    ok 6 - child exited
-    ok 7 - popen_delete
+    ok 2 - state alive
+    ok 3 - write flag check
+    ok 4 - write to pipe
+    ok 5 - child exited
+    ok 6 - popen_delete
 	*** popen_write_exit: done ***
 ok 1 - subtests
     1..5
-- 
2.25.0



More information about the Tarantool-patches mailing list