Add {active_pid, pid()} option to socket/2, which implies {active, true}. The change provides a controlling_process concept for active mode sockets (so that the code doesn't assume self() is always the controlling process).