]> granicus.if.org Git - ejabberd/commitdiff
* src/ejabberd_receiver.erl: Don't activate a socket untill its
authorAlexey Shchepin <alexey@process-one.net>
Sun, 4 May 2008 07:38:24 +0000 (07:38 +0000)
committerAlexey Shchepin <alexey@process-one.net>
Sun, 4 May 2008 07:38:24 +0000 (07:38 +0000)
receiver process is controlling it

SVN Revision: 1316

ChangeLog
src/ejabberd_receiver.erl

index 034243bf26ef5ebee284832dee35beb9be49952f..75ed56a3f3e8e23b8bf528cb85b274b7b02d1aa8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-05-04  Alexey Shchepin  <alexey@process-one.net>
+
+       * src/ejabberd_receiver.erl: Don't activate a socket untill its
+       receiver process is controlling it
+
 2008-04-30  Christophe Romain <christophe.romain@process-one.net>
 
        * src/mod_caps.erl: XEP-0115 patch (EJAB-618)
index 22600eb27ca82bbd48cf603cb14ef8568c87e9d6..72b3608d69db52357505dbb523c28f09e6c8160c 100644 (file)
@@ -288,11 +288,14 @@ activate_socket(#state{socket = Socket,
 
 process_data(Data,
             #state{xml_stream_state = XMLStreamState,
-                   shaper_state = ShaperState} = State) ->
+                   shaper_state = ShaperState,
+                   c2s_pid = C2SPid} = State) ->
     ?DEBUG("Received XML on stream = ~p", [binary_to_list(Data)]),
     XMLStreamState1 = xml_stream:parse(XMLStreamState, Data),
     {NewShaperState, Pause} = shaper:update(ShaperState, size(Data)),
     if
+       C2SPid == undefined ->
+           ok;
        Pause > 0 ->
            erlang:start_timer(Pause, self(), activate);
        true ->