> By the way, I found a few more warnings in lint because of this change. > Essentially, MBLKL() now returns an unsigned value, rather than signed, > because of casting to (uintptr_t). (And that's pretty reasonable... the > idea that there could ever be an mblk where b_wptr < b_rptr is nonsensical.)
I've debugged numerous problems over the years where b_wptr < b_rptr. Yes, it's always a bug somewhere -- but it's really important that these cases be detected, and ideally that the machine panic (at least on DEBUG) when it discovers them. Otherwise, the resulting data corruption can be *really* hard to track down. So, in other words, if we've lost this ability, I'd regard that as a serious regression. Also, note that MBLKL() and other related macros are intentionally defined to "return int" in the DDI so that modules and drivers can detect corrupt mblks rather than paper over them. -- meem _______________________________________________ opensolaris-code mailing list opensolaris-code@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/opensolaris-code