$OpenBSD: patch-sdr_src_sd_listen_c,v 1.1 2001/03/17 17:33:19 wilfried Exp $
--- sdr/src/sd_listen.c.orig	Fri Jul 16 15:07:27 1999
+++ sdr/src/sd_listen.c	Fri Mar 16 20:55:41 2001
@@ -135,6 +135,7 @@ int doexit=FALSE;
 int ui_visible=TRUE;
 int debug1=FALSE;
 jmp_buf env;
+unsigned initializationHasFinished = 0;
 
 void dump(buf, buflen)
 char *buf;
@@ -244,6 +245,12 @@ int sd_listen(char *address, int port, i
     rx_sock_addr[*no_of_socks]=malloc(strlen(address)+1);
     strcpy(rx_sock_addr[*no_of_socks], address);
     rx_sock_port[*no_of_socks]=port;
+
+    if (initializationHasFinished) {
+      /* This socket was created after initialization, so start listening now */
+      linksocket(rxsock[*no_of_socks], TK_READABLE, (Tcl_FileProc*)recv_packets);
+    }
+
     (*no_of_socks)++;
     return(*no_of_socks);
 }
@@ -1386,6 +1393,8 @@ char *argv[];
       Tcl_CreateFileHandler(inChannel, TCL_READABLE, (Tcl_FileProc*)do_cli, (ClientData) inChannel);
     }
 #endif
+
+    initializationHasFinished = 1;
 
     while ((doexit==FALSE)||(Tk_GetNumMainWindows() > 0)) 
       {
