Messages in this thread | ![/](/images/icornerl.gif) | | From | Roland McGrath <> | Subject | Re: [PATCH -mm 3/3] proc: make task_sig() lockless | Date | Fri, 9 Apr 2010 12:59:36 -0700 (PDT) |
| |
> Yes. From the changelog: > > Of course, this means we read pending/blocked/etc nonatomically, > but I hope this is OK for fs/proc. > > But I don't think the returned data could be "really" inconsistent > from the /bin/ps pov. Yes, it is possible that, say, some signal is > seen as both pending and ignored without ->siglock. Or we can report > user->sigpending != 0 while pending/shpending are empty. > > But this looks harmless to me. We never guaranteed /proc/pid/status > can't report the "intermediate" state, and I don't think we can > confuse the user-space. > > Do you agree? Or do you think this can make problems ?
I'm not so sure. Operations like sigprocmask and sigaction really have always been entirely atomic from the userland perspective before. Now it becomes possible to read from /proc e.g. a blocked set that never existed as such (one word updated by sigprocmask but not yet the next word).
Thanks, Roland
| ![\](/images/icornerr.gif) |