svn rev #25175: trunk/src/ kdc/ lib/apputils/

ghudson@MIT.EDU ghudson at MIT.EDU
Wed Sep 14 12:12:29 EDT 2011


http://src.mit.edu/fisheye/changelog/krb5/?cs=25175
Commit By: ghudson
Log Message:
Reinitialize verto after creating worker child.

Also mark fd events as reinitiable so they survive the fork.  From
npmccallum at redhat.com.


Changed Files:
U   trunk/src/kdc/main.c
U   trunk/src/lib/apputils/net-server.c
Modified: trunk/src/kdc/main.c
===================================================================
--- trunk/src/kdc/main.c	2011-09-14 16:12:25 UTC (rev 25174)
+++ trunk/src/kdc/main.c	2011-09-14 16:12:29 UTC (rev 25175)
@@ -550,6 +550,8 @@
     for (i = 0; i < num; i++) {
         pid = fork();
         if (pid == 0) {
+            verto_reinitialize(ctx);
+
             /* Return control to main() in the new worker process. */
             free(pids);
             return 0;

Modified: trunk/src/lib/apputils/net-server.c
===================================================================
--- trunk/src/lib/apputils/net-server.c	2011-09-14 16:12:25 UTC (rev 25174)
+++ trunk/src/lib/apputils/net-server.c	2011-09-14 16:12:29 UTC (rev 25175)
@@ -580,7 +580,9 @@
 add_udp_fd(struct socksetup *data, int sock, int pktinfo)
 {
     return add_fd(data, sock, pktinfo ? CONN_UDP_PKTINFO : CONN_UDP,
-                  VERTO_EV_FLAG_IO_READ | VERTO_EV_FLAG_PERSIST,
+                  VERTO_EV_FLAG_IO_READ |
+                  VERTO_EV_FLAG_PERSIST |
+                  VERTO_EV_FLAG_REINITIABLE,
                   process_packet, 1);
 }
 
@@ -588,7 +590,9 @@
 add_tcp_listener_fd(struct socksetup *data, int sock)
 {
     return add_fd(data, sock, CONN_TCP_LISTENER,
-                  VERTO_EV_FLAG_IO_READ | VERTO_EV_FLAG_PERSIST,
+                  VERTO_EV_FLAG_IO_READ |
+                  VERTO_EV_FLAG_PERSIST |
+                  VERTO_EV_FLAG_REINITIABLE,
                   accept_tcp_connection, 1);
 }
 
@@ -666,7 +670,9 @@
     verto_ev *ev;
 
     ev = add_fd(data, sock, CONN_RPC_LISTENER,
-                VERTO_EV_FLAG_IO_READ | VERTO_EV_FLAG_PERSIST,
+                VERTO_EV_FLAG_IO_READ |
+                VERTO_EV_FLAG_PERSIST |
+                VERTO_EV_FLAG_REINITIABLE,
                 accept_rpc_connection, 1);
     if (ev == NULL)
         return NULL;




More information about the cvs-krb5 mailing list