Add support to set primary-dns server configuration for Android
Add support to configure primary-dns server for Android platforms using
dnsmasq.
Signed-off-by: Shivani Baranwal <quic_shivbara@quicinc.com>
diff --git a/utils.c b/utils.c
index c823f83..201dad5 100644
--- a/utils.c
+++ b/utils.c
@@ -10,6 +10,7 @@
#include "sigma_dut.h"
#include <sys/ioctl.h>
#include <sys/stat.h>
+#include <signal.h>
#include "wpa_helpers.h"
enum driver_type wifi_chip_type = DRIVER_NOT_SET;
@@ -1068,3 +1069,32 @@
{
return res < 0 || (unsigned int) res >= size;
}
+
+
+void kill_pid(struct sigma_dut *dut, const char *pid_file)
+{
+ int pid;
+ FILE *f;
+
+ f = fopen(pid_file, "r");
+ if (!f)
+ return; /* process is not running */
+
+ if (fscanf(f, "%d", &pid) != 1 || pid <= 0) {
+ sigma_dut_print(dut, DUT_MSG_ERROR,
+ "No PID for process in %s", pid_file);
+ fclose(f);
+ unlink(pid_file);
+ return;
+ }
+ fclose(f);
+
+ sigma_dut_print(dut, DUT_MSG_DEBUG, "Process PID found in %s: %d",
+ pid_file, pid);
+ if (kill(pid, SIGINT) < 0 && errno != ESRCH)
+ sigma_dut_print(dut, DUT_MSG_DEBUG, "kill failed: %s",
+ strerror(errno));
+
+ unlink(pid_file);
+ sleep(1);
+}