On Fri, 31 Jul 2009 10:35:20 +0200 Peter Zijlstra <[email protected]> wrote:
> In order to direct the SIGIO signal to a particular thread of a > multi-threaded application we cannot, like suggested by the manpage, put > a TID into the regular fcntl(F_SETOWN) call. It will still be send to > the whole process of which that thread is part. > > Since people do want to properly direct SIGIO we introduce F_SETOWN_TID, > which functions similarly to F_SETOWN, except positive arguments are > interpreted as TIDs and negative arguments are interpreted as PIDs. > > This extension is fully bug compatible with the old F_GETOWN > implementation in that F_GETOWN_TID will be troubled by the negative > return value for PIDs similarly to F_GETOWN's trouble with process > groups. I'd be interested in seeing a bit more explanation about the "people do want to properly direct SIGIO" thing - use cases, how the current code causes them problems, etc. As it stands, it's a bit of a mystery-patch. > [ compile tested only so far ] I will continue to lurk :) > arch/parisc/include/asm/fcntl.h | 2 + > fs/fcntl.c | 64 +++++++++++++++++++++++++++++++++----- > include/asm-generic/fcntl.h | 4 ++ > include/linux/fs.h | 11 +++++- > net/socket.c | 2 +- OK. Alpha has private definitions of F_SETSIG and F_GETSIG which are identical to the generic ones. That's somewhat logical, given that alpha's F_SETOWN/F_GETOWN _differ_ from the asm-generic ones. Alpha appears to have made the decision to spell out _all_ the F_* flags, given that some of them are different. That has some merit, I guess. But your patch broke that. ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ perfmon2-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/perfmon2-devel
