Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Nov 2010 14:41:37 +0100
From:      Pawel Jakub Dawidek <pjd@FreeBSD.org>
To:        John Baldwin <jhb@freebsd.org>
Cc:        freebsd-current@freebsd.org, Andriy Gapon <avg@freebsd.org>
Subject:   Re: taskqueue_create() name parameter lieftime
Message-ID:  <20101116134137.GD1753@garage.freebsd.pl>
In-Reply-To: <201011160827.11628.jhb@freebsd.org>
References:  <4CE2771F.8020109@freebsd.org> <201011160827.11628.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--oPmsXEqKQNHCSXW7
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Nov 16, 2010 at 08:27:11AM -0500, John Baldwin wrote:
> On Tuesday, November 16, 2010 7:20:47 am Andriy Gapon wrote:
> >=20
> > taskqueue_create() documentation never explicitly says this, but current
> > taskqueue_create() implementation just stores a 'name' pointer parameter
> > internally.  Thus it depends on the 'name' having a life time encompass=
ing that of
> > the taskqueue.
> > I think that alternatively we could have copied the name (or a portion =
of it) into
> > an internal buffer.
> > I don't any argument for either approach, just curious which one looks =
more
> > preferable from general (FreeBSD, kernel) programming practices point o=
f view.
>=20
> Hmm, in many other places we store a separate copy (e.g. all the interrupt
> code uses separate MAXCOMLEN char arrays to hold names).  If that is easy=
 to
> do, that is probably the best approach.

The most friendly API would keep the name internally, but would also
allow me to provide name in printf-like format, so I don't have to use
sprint()/snprintf() before calling it. This unfortunatelly will change
taskqueue API as name is the first argument, which makes it not worth
the pain.

--=20
Pawel Jakub Dawidek                       http://www.wheelsystems.com
pjd@FreeBSD.org                           http://www.FreeBSD.org
FreeBSD committer                         Am I Evil? Yes, I Am!

--oPmsXEqKQNHCSXW7
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (FreeBSD)

iEYEARECAAYFAkziihEACgkQForvXbEpPzTE3ACgxYxc+eVUNuGtflV+plOW3Sdb
4C0AmwYQOvFv+CRYkfNcleDxjQZLpzAF
=lJer
-----END PGP SIGNATURE-----

--oPmsXEqKQNHCSXW7--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20101116134137.GD1753>