On Wed, 2016-02-24 at 20:55 -0500, Colin Walters wrote:
> On Tue, Feb 23, 2016, at 05:54 PM, Thomas Haller wrote:
> > 
> > The value written to sysctl is usually a short string. It makes
> > sense
> > to optimize for this case and avoid allocating a temporary string
> > on the heap.
> Hey, so a while ago I was pushing for NetworkManager to use
> libgsystem,
> which then got backed out in favor of just copying the local alloc
> macros.

Yes, because we only used gsystem-local-alloc.h, so we copied the file
as is.
Note that this kind of "reuse-by-copying-into-own-tree" has less
downsides then usual copy&paste or re-implementation. We still treat
the copied file as external. So is more like including libgsystem as
git-submodule -- e.g. our copied version is unmodified.

> Since then, I've introduced "libglnx", its successor:
> 
> https://git.gnome.org/browse/libglnx
> 
> It'd likely be a good match for NetworkManager too, as this time it's
> *only*
> a git submodule.  It also has backported local alloc macros.
> 
> Now, the reason I'm mentioning this in reply to this message is that
> part of
> libglnx is shamelessly cloning some of the good parts of libsystemd-
> shared,
> and specifically in this case:
> 
> https://git.gnome.org/browse/libglnx/tree/glnx-alloca.h?id=8a7943fef6
> 061a4e9ca368e0042a8a3924affb99#n28
> 
> which avoids the hand-rolled string offset handling.

Nice... also to be able to include the ~library~ as git-submodule.

We also have a "shared" directory [2] what contains files that we copy
as-is to nm-openvpn and nm-applet repository. So, that is our ground
base of utilities we want to have everywhere. libglnx would go in this
direction.



Thomas


[1] 
https://cgit.freedesktop.org/NetworkManager/NetworkManager/tree/shared/nm-glib.h?id=aae6f07fe50f0917a55e9cf02cafe177ea654dfe
[2] 
https://cgit.freedesktop.org/NetworkManager/NetworkManager/tree/shared?id=aae6f07fe50f0917a55e9cf02cafe177ea654dfe

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
networkmanager-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/networkmanager-list

Reply via email to