On Tue, Jan 13, 2009 at 05:44:51PM +0000, Daniel P. Berrange wrote: > There are a huge list of functions in POSIX which are not > safe to use from multiple threads currently. I generated > the list by looking at all libc symbol exports for variants > which have a parallel _r symbol. > > nm -D --defined-only /lib/libc.so.6 \ > | grep '_r$' \ > | awk '{print $3}' \ > | grep -v __ \ > | grep -v qsort \ > | grep -v readdir \ > | sort \ > | uniq \ > | sed -e 's/_r//' > > The qsort one is a red herring, since you only need qsort_r if > you need to pass a extra 'void * opaque' data blob to your sort > function - we don't, so don't need qsort_r. > > The readdir one is also unneccessary, since reading from a single > DIR* is safe from a single thread. readdir_r is also horrific > > http://womble.decadentplace.org.uk/readdir_r-advisory.html > > > This patch adds a 'make sc_prohibit_nonrentrant' rule to the > 'syntax-check' for these forbidden functions. > > .x-sc_prohibit_nonreentrant | 8 ++++ > Makefile.am | 2 + > Makefile.maint | 11 +++++ > Makefile.nonreentrant | 85 ++++++++++++++++++++++++++++++++++++++++++++ > 4 files changed, 106 insertions(+) Yup, perfect, +1. Rich. -- Richard Jones, Emerging Technologies, Red Hat http://et.redhat.com/~rjones virt-top is 'top' for virtual machines. Tiny program with many powerful monitoring features, net stats, disk stats, logging, etc. http://et.redhat.com/~rjones/virt-top -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list