Re: __attribute__ ((cleanup) patch



> From: "Colin Walters" <walters verbum org>
> So the patch ended up getting reverted, which I'm OK with,

Thank you for understanding. I'll also try to reply so that we have a clean technical
discussion, separate from my ranting :).

> but what I still want to know is - what are the hurdles I need to jump to move
> this forward?

One thing I would like to give it some reasonable time. I'd still like
to consult some people.

> Pavel mentioned he felt like NetworkManager was being used as an
> experimental testbed; I don't quite agree with that characterization,
> but for example, is having more projects use the local allocation
> something that would help?

The number of other projects is not my primary concern. Rather it is the
value and the risk it brings to the project, and especially risk to
the networking community perception of this change.

>From my point of view, the value is rather small. That's not bad, I appreciate
small steps towards the right direction. But I definitely want to review
carefully rather small improvements that are potentially problematic.

> I can work on that.  I'd actually hoped
> to do NM first since I still plan to do some development on it, but
> that's OK.

Understood.

> More documentation on how to use it?

Yes.

> Document which compilers support it?

Yes, and which of the major compilers don't (their reason would be nice).

> Detect if we don't have it in configure.ac and error out?

Yeah, that would prevent unpleasant surprise.

> Other stuff?

Apart from time, information and coordination with other changes, I can't
think about anything. Maybe others?

A couple of programmers questions, though, that will help me to assess the
actual value of gsystem:

1) I want to create a variable of object pointer type to be NULL. I want it
freed *if and only if* I assign it a value (an actual allocated object). Is
that possible? Are you going to use it?

2) How does this work with tools like Valgrind.

3) What about some static analysis tools?

4) Any known issues with GDB?

5) What does it do on exit(), abort() and fatal signals?

6) Any other things you can think about?

Some documentation distributed with the source code? FAQ with stupid questions
like those above? These things are extremely helpful.

Pavel


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]