Commit a7151a8e authored by Shuah Khan's avatar Shuah Khan

selftests/sched: fix warn_unused_result build warns

Fix the following warns by adding return check and error handling.

gcc -O2 -Wall -g -I./ -isystem .../tools/testing/selftests/../../../usr/include -Wl,-rpath=./      cs_prctl_test.c -lpthread -o .../tools/testing/selftests/sched/cs_prctl_test
cs_prctl_test.c: In function ‘create_processes’:
cs_prctl_test.c:187:17: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  187 |                 read(proc[i].pfd[0], &proc[i].thr_tids, sizeof(int) * proc[i].num_threads);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cs_prctl_test.c: In function ‘child_func_process’:
cs_prctl_test.c:159:9: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  159 |         write(ca->pfd[1], &ca->thr_tids, sizeof(int) * ca->num_threads);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
parent 6e81461b
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
#include <sys/prctl.h> #include <sys/prctl.h>
#include <unistd.h> #include <unistd.h>
#include <time.h> #include <time.h>
#include <errno.h>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
...@@ -151,12 +152,17 @@ static void create_threads(int num_threads, int thr_tids[]) ...@@ -151,12 +152,17 @@ static void create_threads(int num_threads, int thr_tids[])
static int child_func_process(void *arg) static int child_func_process(void *arg)
{ {
struct child_args *ca = (struct child_args *)arg; struct child_args *ca = (struct child_args *)arg;
int ret;
close(ca->pfd[0]); close(ca->pfd[0]);
create_threads(ca->num_threads, ca->thr_tids); create_threads(ca->num_threads, ca->thr_tids);
write(ca->pfd[1], &ca->thr_tids, sizeof(int) * ca->num_threads); ret = write(ca->pfd[1], &ca->thr_tids, sizeof(int) * ca->num_threads);
if (ret == -1)
printf("write failed on pfd[%d] - error (%s)\n",
ca->pfd[1], strerror(errno));
close(ca->pfd[1]); close(ca->pfd[1]);
while (1) while (1)
...@@ -169,7 +175,7 @@ static unsigned char child_func_process_stack[STACK_SIZE]; ...@@ -169,7 +175,7 @@ static unsigned char child_func_process_stack[STACK_SIZE];
void create_processes(int num_processes, int num_threads, struct child_args proc[]) void create_processes(int num_processes, int num_threads, struct child_args proc[])
{ {
pid_t cpid; pid_t cpid;
int i; int i, ret;
for (i = 0; i < num_processes; ++i) { for (i = 0; i < num_processes; ++i) {
proc[i].num_threads = num_threads; proc[i].num_threads = num_threads;
...@@ -184,7 +190,10 @@ void create_processes(int num_processes, int num_threads, struct child_args proc ...@@ -184,7 +190,10 @@ void create_processes(int num_processes, int num_threads, struct child_args proc
} }
for (i = 0; i < num_processes; ++i) { for (i = 0; i < num_processes; ++i) {
read(proc[i].pfd[0], &proc[i].thr_tids, sizeof(int) * proc[i].num_threads); ret = read(proc[i].pfd[0], &proc[i].thr_tids, sizeof(int) * proc[i].num_threads);
if (ret == -1)
printf("read failed on proc[%d].pfd[0] error (%s)\n",
i, strerror(errno));
close(proc[i].pfd[0]); close(proc[i].pfd[0]);
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment