我看到有些linux内核使用sys_sigreturn,有些有sys_rt_sigreturn,有些则支持这两种。这两者的根本区别是什么?为什么有2个系统调用执行相同的操作?
答案 0 :(得分:2)
根据PasswordEncoder lPasswordEncoder = getPasswordEncoder();
if (!lPasswordEncoder.isPasswordValid(lUser.getPassword(),
pAuthentication.getCredentials().toString(), null)) {
throw new BadCredentialsException("Wrong password for user "
+ lUser.getLogin());
}
man page,sigreturn
是rt_sigreturn
的高级版本,支持放大的信号类型:
最初的Linux系统调用名为sigreturn()。然而,随着 在新的系统调用Linux 2.2中添加实时信号, 添加了rt_sigreturn()以支持放大的sigset_t类型。该 GNU C库隐藏了我们的这些细节,透明地使用 rt_sigreturn()在内核提供时。