On Tue, Mar 11, 2014 at 05:51:16PM +0000, Peter Maydell wrote: > On 11 March 2014 16:36, Dr. David Alan Gilbert <dgilb...@redhat.com> wrote: > > * Peter Maydell (peter.mayd...@linaro.org) wrote: > >> On 11 March 2014 16:13, Dr. David Alan Gilbert <dgilb...@redhat.com> wrote: > >> > * Peter Maydell (peter.mayd...@linaro.org) wrote: > >> >> Can we have a configure test for the function instead, please? > >> >> We don't generally do tests for specific glibc versions > >> >> (among other things, glibc is not the only C library we > >> >> might be compiled against -- consider MacOSX, the BSDs, > >> >> and occasionally somebody tries to compile against one > >> >> of the embedded libcs). > >> > > >> > Except pthread_setname_np is not portable and was previously > >> > ifdef'd _GNU_SOURCE anyway > >> > >> I still think it's a generally worse way to do checks. > >> We currently have only one check against __GLIBC_MINOR__ > >> in the tree (and that's in extremely Linux-specific > >> code). > >> > >> > the parameters on other OSs > >> > maybe different (freebsd has got a 3rd parameter for no > >> > apparent reason). > >> > >> This rather suggests we should abstract the "set thread > >> name" functionality out into its own function so we > >> can easily provide other implementations for those > >> other OSes later. > > > > OK, well there is already a > > > > void os_set_proc_name(const char *s) > > > > in os-posix.c but it has ~2 problems: > > 1) If the OS doesn't support doing it that way it exit(1)'s > > 2) it uses prctl to set it on the current thread, where > > pthread_setname_np has the advantage that it sets it on > > something you have a pthread* for. > > 3) There isn't a matching entry in os-win32.c > > > > is the best thing to add another function to os-posix and os-win > > then? > > Given this function's only for use in qemu-thread-posix.c > I think it would be reasonable to just have it live there. > It would be nicer to have an > > static void qemu_thread_set_name(QemuThread *thread, const char *name) > { > #ifdef CONFIG_THREAD_SETNAME_NP > pthread_setname_np(thread->thread, name); > #endif > } > > rather than #ifdefs in the middle of functions, > that's all. > > thanks > -- PMM
Shouldn't we prevent the unsupported option from appearing in qemu output though? Otherwise how does user know whether it works?