?ERROR_MSG("extauth call '~p' didn't receive response", [Msg]),
Caller ! {eauth, false},
unregister(ProcessName),
- spawn(?MODULE, init, [ProcessName, ExtPrg]),
+ Pid = spawn(?MODULE, init, [ProcessName, ExtPrg]),
+ flush_buffer_and_forward_messages(Pid),
exit(port_terminated)
end;
stop ->
exit(port_terminated)
end.
+flush_buffer_and_forward_messages(Pid) ->
+ receive
+ Message ->
+ Pid ! Message,
+ flush_buffer_and_forward_messages(Pid)
+ after 0 ->
+ true
+ end.
+
join(List, Sep) ->
lists:foldl(fun(A, "") -> A;
(A, Acc) -> Acc ++ Sep ++ A