On 04/09, David Woodhouse wrote:Yes sure. Why do you think so? Please look at the "patch" below, --- arch/x86/kernel/signal_32.c 2008-02-15 16:58:38.000000000 +0300 +++ - 2008-04-09 15:16:05.393510662 +0400 @@ -526,10 +526,14 @@ handle_signal(unsigned long sig, siginfo { int ret; + oldset = ¤t->blocked; + /* Are we from a system call? */ if (regs->orig_ax >= 0) { /* If so, check system call restarting.. */ switch (regs->ax) { + case -ERESTART_XXX: + oldset = ¤t->saved_sigmask; case -ERESTART_RESTARTBLOCK: case -ERESTARTNOHAND: regs->ax = -EINTR; We also need a similar change in do_signal(). Now, --- fs/select.c 2008-02-15 16:59:15.000000000 +0300 +++ - 2008-04-09 15:19:29.015991911 +0400 @@ -805,9 +805,8 @@ asmlinkage long sys_ppoll(struct pollfd if (sigmask) { memcpy(¤t->saved_sigmask, &sigsaved, sizeof(sigsaved)); - set_thread_flag(TIF_RESTORE_SIGMASK); } - ret = -ERESTARTNOHAND; + ret = -ERESTART_XXX; } else if (sigmask) sigprocmask(SIG_SETMASK, &sigsaved, NULL); Perhaps I missed something else, though. Not that I really think it worth changing, but I'll try to make a proof of concept patch on Weekend, on top of Roland's cleanups. As I see it, the main disadvantage of ERESTART_ approach is that we need 2 new ERESTART_ codes, one for ERESTARTNOHAND, another for ERESTART_RESTARTBLOCK. And yes, while I personally think this is "more clean", it is very subjective. Oleg. --
| Arjan van de Ven | [patch] Add basic sanity checks to the syscall execution patch |
| Ingo Molnar | Re: [patch] high-res timers: UP resume fix |
| Satyam Sharma | Re: 2.6.23-rc4-mm1 |
| Bart Van Assche | Integration of SCST in the mainstream Linux kernel |
git: | |
| Eric Wong | Re: [RFC] Git config file reader in Perl (WIP) |
| Raimund Bauer | [wishlist] graphical diff |
| Junio C Hamano | Re: git-diff on touched files: bug or feature? |
| Steve | Re: Libification project (SoC) |
| François Rousseau | carp, ospf can't see carp state |
| Benjamin Bennett | Re: Multi-Threaded SSH/SCP made by university of Puttsburgh |
| Nuno Magalhães | Can't scp, ssh is slow to authenticate. |
| Brian | drm at vga1? |
| Olof Johansson | [PATCH 3/3] pasemi_mac: Disable interface on close |
| Ilpo Järvinen | Re: [bug] stuck localhost TCP connections, v2.6.26-rc3+ |
| Chris Snook | [RFC] introducing the Atheros L2 Fast Ethernet driver |
| Steven Whitehouse | My 802.3ad is my bond |
