s4-smbd: setup the default event contexts for other process models
authorAndrew Tridgell <tridge@samba.org>
Thu, 7 Jan 2010 08:12:45 +0000 (19:12 +1100)
committerAndrew Tridgell <tridge@samba.org>
Fri, 8 Jan 2010 02:03:05 +0000 (13:03 +1100)
source4/smbd/process_prefork.c
source4/smbd/process_standard.c

index f890a528d52e52413b07b048313f3a1786559068..721856bb468e4d7ba89c24d61c45afeca1a2e55b 100644 (file)
@@ -114,6 +114,9 @@ static void prefork_new_task(struct tevent_context *ev,
        /* This is now the child code. We need a completely new event_context to work with */
        ev2 = s4_event_context_init(NULL);
 
+       /* setup this as the default context */
+       s4_event_context_set_default(ev2);
+
        /* the service has given us a private pointer that
           encapsulates the context it needs for this new connection -
           everything else will be freed */
@@ -171,7 +174,10 @@ static void prefork_new_task(struct tevent_context *ev,
        
        /* But we need a events system to handle reaping children */
        ev_parent = s4_event_context_init(NULL);
-       
+
+       /* setup this as the default context */
+       s4_event_context_set_default(ev_parent);
+
        /* TODO: Handle some events... */
        
        /* we can't return to the top level here, as that event context is gone,
index ab5ad5760c626b2b63fda64a606544737247a4bc..145cbc0a2bfc1bd7c9b63b0b8a98605cdf0c2ec0 100644 (file)
@@ -108,6 +108,9 @@ static void standard_accept_connection(struct tevent_context *ev,
        /* This is now the child code. We need a completely new event_context to work with */
        ev2 = s4_event_context_init(NULL);
 
+       /* setup this as the default context */
+       s4_event_context_set_default(ev2);
+
        /* the service has given us a private pointer that
           encapsulates the context it needs for this new connection -
           everything else will be freed */
@@ -179,6 +182,9 @@ static void standard_new_task(struct tevent_context *ev,
        /* This is now the child code. We need a completely new event_context to work with */
        ev2 = s4_event_context_init(NULL);
 
+       /* setup this as the default context */
+       s4_event_context_set_default(ev2);
+
        /* the service has given us a private pointer that
           encapsulates the context it needs for this new connection -
           everything else will be freed */