Semaphore

Kristof Provost kristof at sigsegv.be
Fri Feb 24 05:24:59 EST 2012


On 2012-02-24 12:15:03 (+0200), Kosta Zertsekel <zertsekel at gmail.com> wrote:
> I think of user land program opening a socket and crashing on
> segmentation fault.
> In code 'socket' syscall does:
>     sock_map_fd --> sock_alloc_file --> alloc_file --> ... get lost ...
> Where exactly in this case lock is held - I mean the lock that gets
> released when user land process dies?

In this case there doesn't appear to be any lock. The sock_map_fd
function is most probably called from the socket syscall. This call
isn't locked. Multiple processes can be in the socket syscall at the
same time.
There certainly won't be a (kernel) lock which is held between two system 
calls.

Regards,
Kristof




More information about the Kernelnewbies mailing list