The close process is supposed to go on asynchronously behind the back of the
closing process.
This is important because we are going to stop processes from sleeping during
an execve()
void net_close(struct socket *s)
{
/* Caution here - the native tcp socket will hang around longer */
- netn_synchronous_event(s, SS_CLOSED);
+ sd->newstate = SS_CLOSED;
+ netn_asynchronous_event(s, NEV_STATE|NEVW_STATE);
+ /* Don't block. We won't reuse the entry until it moves to
+ CLOSED state */
}
/*