dlls/ntdll/file.c: Use FIXME_ONCE for quieter reports.
Saulius Krasuckas
saulius2 at ar.fi.lt
Thu Jul 15 04:11:59 CDT 2010
* On Wed, 14 Jul 2010, Chris Robinson wrote:
> * On Wednesday, July 14, 2010 5:02:59 pm Max TenEyck Woodbury wrote:
> >
> > 'FIXME's that contain no variable information are completely redundant
> > after their first report. After the first reminder, the additional
> > reports are just noise. They add no additional information in terms of
> > action required.
>
> I wouldn't say that. Sometimes the simple knowledge that a FIXME is
> called a whole lot says enough on its own (eg, in WineD3D, you get a
> fixme when an sRGB reload occurs, because it's a performance drain; if
> this happens a lot, it can be taken as a source for performance issues).
> Sometimes knowing particular a fixme is triggered near to a crash or
> other behavioral anomaly can say a bit, too.
Although I stand for *_ONCE implementation, I agree with Chris.
And there might be some alternative: lets then implement it like a
FIXME_ONCE_PER(N)("a_debug_string");
Which could print something like a
"fixme:channel:a_debug_string [repeated N times]"
This would not oly still tell you approximate frequency of a FIXME, but it
also would require developer to know reasonable occurence quanta value (N)
or to tune it later. This (for me) sounds like a way to know the code's
stochastic behaviour better! Which would be a plus.
> If such fixmes were only printed once, it would be impossible to see
> this information without more in-depth testing that most users won't
> bother with. If the fixme is only printed once and the rest are TRACEs,
> it would still cause more work and a whole lot more noise (ie. all the
> other traces) in trying to spot it.
TRACE_ONCE probably could help in some cases too. There I see another
constraint of *_ONCE functionality. "Once" could be per block (eg.
for-loop), per wrapping function call, per process or even once per
thread's life.
Implementing all onces might be difficult, IMHO. Though not all of
them could be necessary, probably.
* On Thu, 15 Jul 2010, Dmitry Timoshkov wrote:
>
> The patches which silense some FIXME's have been accepted as an
> exception. That covers the code which is unlikely to be fixed in near
> future, or the code nobody is working on.
Then at least replacement of these (ugly by their size, IMHO)
silence-blocks with a simple FIXME_ONCE seems rational.
S.
More information about the wine-devel
mailing list