cmullaparthi / ibrowse

Erlang HTTP client
Other
516 stars 190 forks source link

Fix failing requests when ibrowse_lb process does not stop gracefully. #120

Closed divolgin closed 10 years ago

divolgin commented 10 years ago

This behavior can be simulated in the current codebase by calling

ibrowse_lb:stop(Pid)

where Pid is one of the currently running ibrowse_lb processes. If the process is stopped at the right time, running ets:tab2list(ibrowse_lb) will confirm that the process record is still in the table, which would make ibrowsesend spawn_connection messages to a process that does not exist.

ibrowse does not recover from this condition automatically.

cmullaparthi commented 10 years ago

Thanks for the fix.