This helps a bit if the fgetc() is non-blocking.

Update #4650.
---
 freebsd/contrib/tcpdump/tcpdump.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/freebsd/contrib/tcpdump/tcpdump.c 
b/freebsd/contrib/tcpdump/tcpdump.c
index b1e7f0d1..74c878a3 100644
--- a/freebsd/contrib/tcpdump/tcpdump.c
+++ b/freebsd/contrib/tcpdump/tcpdump.c
@@ -139,6 +139,7 @@ The Regents of the University of California.  All rights 
reserved.\n";
 #include <sys/sysctl.h>
 #include <machine/rtems-bsd-commands.h>
 #include <assert.h>
+#include <sched.h>
 #include <rtems.h>
 #include <rtems/linkersets.h>
 #define setpriority(a, b, c)
@@ -1224,6 +1225,8 @@ pcap_loop_monitor(rtems_task_argument arg)
                        pcap_breakloop(pd);
                        break;
                }
+
+               sched_yield();
        }
 
        rtems_task_delete(RTEMS_SELF);
-- 
2.35.3

_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to