tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Problem with syscall_disestablish() - PR kern/50430



On November 19, 2015 4:28:46 AM EST, Paul Goyette <paul%vps1.whooppee.com@localhost> wrote:
>And if there's anyone who really understands HOW the initial syscall
>gets interrupted when the signal is being delivered (and HOW it gets
>restarted when the handler returns) I would love an explanation!
>

Regarding restart, I don't think it needs to be explicitly saved anywhere, because the original call in the userland program has the necessary information.

E.g. if you look at the restart path for alpha (just because that's the first search result I found) you see that it simply moves the userland process' program counter back a bit, and let's the process trigger the syscall again:
http://nxr.netbsd.org/xref/src/sys/arch/alpha/alpha/syscall.c#203

Dunno about how it's actually interrupted though.

Eric



Home | Main Index | Thread Index | Old Index