Exit when there's error on select() 59/276459/1 submit/tizen/20220617.051704
authorjiung-yu <jiung.yu@samsung.com>
Fri, 17 Jun 2022 04:54:38 +0000 (13:54 +0900)
committerjiung-yu <jiung.yu@samsung.com>
Fri, 17 Jun 2022 04:55:02 +0000 (13:55 +0900)
Description: Sometimes there's an issue that dhcpd isn't killed
by SigTerm and it consumes all CPU usage.
 We can't reproduce the issue but I think we can terminate
dhcpd when select returns an error and errno is not EINTR.

Change-Id: I16759a7a5eb35e594eac175496e6f5d87d7d4d25
Signed-off-by: Yu jiung <jiung.yu@samsung.com>
packaging/toybox.spec
toys/pending/dhcpd.c

index 07d23e8..4a67ea7 100644 (file)
@@ -1,6 +1,6 @@
 Name: toybox
 Version: 0.6.0
-Release: 1%{?dist}
+Release: 2%{?dist}
 Summary: Single binary providing simplified versions of system commands
 Group: Base/Utilities
 License: BSD-2.0
index e30c249..2adc60d 100644 (file)
@@ -1713,8 +1713,8 @@ void dhcpd_main(void)
         waited += (unsigned) time(NULL) - timestmp;
         continue;
       }
-      dbg("Error in select wait again...\n");
-      continue;
+      dbg("Don't wait on Error in select\n");
+      exit(0);
     }
     if (!retval) { // Timed out
       dbg("select wait Timed Out...\n");