jcs
/subtext
/amendments
/432
main: Let binkp poll run if next_poll is 0, even if one is logged in
This should only happen when the sysop triggers it, so let it run
    jcs made amendment 432 over 2 years ago
--- main.c	Wed Mar 15 15:29:57 2023
+++ main.c	Wed Mar 15 17:28:49 2023
@@ -450,11 +450,11 @@ periodic_jobs(struct uthread *uthread, void *arg)
 	
 	for (;;) {
 		date_tm = localtime((time_t *)&Time);
-		
-		if (nsessions != 0)
-			goto sleep;
 			
 		if (last_daily_job != date_tm->tm_mday) {
+			if (nsessions != 0)
+				goto sleep;
+			
 			if (db->config.session_log_prune_days) {
 				session_prune_logs(db->config.session_log_prune_days);
 				uthread_yield();
@@ -473,7 +473,11 @@ periodic_jobs(struct uthread *uthread, void *arg)
 			last_daily_job = date_tm->tm_mday;
 		}
 		
-		if (binkp_ready) {
+		if (binkp_ready && (nsessions == 0 || binkp_next_poll == 0)) {
+			/*
+			 * Only do polling when no one is on, or we were just woken up
+			 * from the sysop menu
+			 */
 			if (Time > binkp_next_poll) {
 				binkp_poll();
 				uthread_yield();