On Mon, 2005-07-25 at 12:16 -0700, Philippe Troin wrote: > Lee Revell <[EMAIL PROTECTED]> writes: > > > On Mon, 2005-07-25 at 13:55 -0400, Steven Rostedt wrote: > > > Doesn't matter. The cycles saved for old compilers is not rational to > > > have obfuscated code. > > > > Where do we draw the line with this? Is x *= 2 preferable to x <<= 2 as > > well? > > Depends if you want to multiply by 2 or 4 :-)
I guess this proves my point :-) But lets look at the signal.c code as well: if ((!info || ((unsigned long)info != 1 && (unsigned long)info != 2 && SI_FROMUSER(info))) && ((sig != SIGCONT) || (current->signal->session != t->signal->session)) && (current->euid ^ t->suid) && (current->euid ^ t->uid) && (current->uid ^ t->suid) && (current->uid ^ t->uid) && !capable(CAP_KILL)) return error; Why did they do the (current->signal->session != t->signal->session) and not also do (current->signal->session ^ t->signal->session)? Bit shifting for doubling (or quadrupling) may or may not be confusing, (I don't mind that), but using xor for non-equal is IMO past that line. Since, I usually use xor for bit masks. Looking at the above code, especially since it is not always used, I would think that euid, uid, and suid are all bitmasks. -- Steve - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/