diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | src/ejabberd_receiver.erl | 5 |
2 files changed, 9 insertions, 1 deletions
@@ -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) diff --git a/src/ejabberd_receiver.erl b/src/ejabberd_receiver.erl index 22600eb27..72b3608d6 100644 --- a/src/ejabberd_receiver.erl +++ b/src/ejabberd_receiver.erl @@ -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 -> |