From bf11312379314c515c882e3640b10ffd7c8b490d Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Wed, 18 Jul 2001 20:03:05 +0000
Subject: [PATCH] Added yield function to reduce DOS program CPU hogging.

---
 src/sbbs3/sbbsexec.c | 8 ++++++--
 src/sbbs3/vdd_func.h | 1 +
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/sbbs3/sbbsexec.c b/src/sbbs3/sbbsexec.c
index bd82a7884a..42eec5b6ce 100644
--- a/src/sbbs3/sbbsexec.c
+++ b/src/sbbs3/sbbsexec.c
@@ -62,6 +62,7 @@ __declspec(dllexport) void __cdecl VDDDispatch(void)
 	static  RingBuf	rdbuf;
 	static	FILE*	fp;
 
+	retval=0;
 	node_num=getBH();
 
 	switch(getBL()) {
@@ -280,7 +281,6 @@ __declspec(dllexport) void __cdecl VDDDispatch(void)
 			retval=0;
 			break;
 
-#if 1
 		case VDD_INBUF_FULL:
 			if(!GetMailslotInfo(
 				rdslot,		// mailslot handle 
@@ -338,7 +338,11 @@ __declspec(dllexport) void __cdecl VDDDispatch(void)
 				retval=1;
 			online_poll++;
 			break;
-#endif
+
+		case VDD_YIELD:
+			Sleep(1);
+			break;
+
 		default:
 			if(fp!=NULL)
 				fprintf(fp,"!UNKNOWN VDD_OP: %d\r\n",getBL());
diff --git a/src/sbbs3/vdd_func.h b/src/sbbs3/vdd_func.h
index 4b177d0092..d100edf945 100644
--- a/src/sbbs3/vdd_func.h
+++ b/src/sbbs3/vdd_func.h
@@ -50,6 +50,7 @@ enum {
 	,VDD_OUTBUF_FULL
 	,VDD_OUTBUF_SIZE
 	,VDD_ONLINE
+	,VDD_YIELD
 };
 
 typedef struct {
-- 
GitLab