2010-02-23 03:01:34 +03:00
*#*#
*.#*#
2008-10-28 20:47:12 +03:00
*.a
2010-04-29 07:36:03 +04:00
*.exe
2010-06-09 22:35:49 +04:00
*.gcda
*.gcno
*.gcov
Prevent crash from dlclose() of libvirt.so
When libvirt calls virInitialize it creates a thread local
for the virErrorPtr storage, and registers a callback to
cleanup memory when a thread exits. When libvirt is dlclose()d
or otherwise made non-resident, the callback function is
removed from memory, but the thread local may still exist
and if a thread later exists, it will invoke the callback
and SEGV. There may also be other thread locals with callbacks
pointing to libvirt code, so it is in general never safe to
unload libvirt.so from memory once initialized.
To allow dlclose() to succeed, but keep libvirt.so resident
in memory, link with '-z nodelete'. This issue was first
found with the libvirt CIM provider, but can potentially
hit many of the dynamic language bindings which all ultimately
involve dlopen() in some way, either on libvirt.so itself,
or on the glue code for the binding which in turns links
to libvirt
* configure.ac, src/Makefile.am: Ensure libvirt.so is linked
with -z nodelete
* cfg.mk, .gitignore, tests/Makefile.am, tests/shunloadhelper.c,
tests/shunloadtest.c: A test case to unload libvirt while
a thread is still running.
2011-09-01 20:57:06 +04:00
*.la
*.lo
2008-10-28 20:47:12 +03:00
*.o
2010-02-23 03:01:34 +03:00
*.orig
*.rej
2008-10-28 20:47:12 +03:00
*~
2008-10-17 14:03:15 +04:00
.git
2009-07-10 12:01:04 +04:00
.git-module-status
2011-03-17 05:35:17 +03:00
.lvimrc
2010-04-21 19:55:03 +04:00
.sc-start-sc_*
2010-11-16 22:29:09 +03:00
/ABOUT-NLS
/COPYING
/ChangeLog
2010-02-23 03:01:34 +03:00
/GNUmakefile
2010-11-16 22:29:09 +03:00
/INSTALL
/NEWS
/aclocal.m4
/autom4te.cache
2011-01-04 05:37:17 +03:00
/build-aux
2010-11-16 22:29:09 +03:00
/build-aux/
2010-04-30 18:52:54 +04:00
/build/
2010-11-16 22:29:09 +03:00
/config.cache
/config.guess
/config.h
/config.h.in
/config.log
/config.rpath
/config.status
/config.sub
/configure
/configure.lineno
2011-05-16 21:13:11 +04:00
/daemon/*_dispatch.h
2011-05-16 19:33:56 +04:00
/docs/hvsupport.html.in
2011-09-14 19:30:33 +04:00
/docs/libvirt-qemu-*.xml
2011-07-28 16:55:21 +04:00
/gnulib/lib/*
/gnulib/m4/*
/gnulib/tests/*
2010-11-16 22:29:09 +03:00
/libtool
/libvirt-*.tar.gz
2010-05-20 02:16:47 +04:00
/libvirt-[0-9]*
2010-11-16 22:29:09 +03:00
/libvirt.pc
/libvirt.spec
/ltconfig
/ltmain.sh
2011-04-05 23:06:31 +04:00
/m4/*
2010-02-23 03:01:34 +03:00
/maint.mk
2010-11-16 22:29:09 +03:00
/mingw32-libvirt.spec
/mkinstalldirs
2011-04-05 23:06:31 +04:00
/po/*
2010-11-09 13:45:14 +03:00
/proxy/
2011-07-19 17:34:34 +04:00
/python/generator.py.stamp
2011-09-14 19:30:33 +04:00
/python/libvirt-qemu-export.c
/python/libvirt-qemu.[ch]
/python/libvirt_qemu.py
2011-08-19 03:03:26 +04:00
/sc_*
2011-07-13 19:05:19 +04:00
/src/hyperv/*.generated.*
2011-03-29 17:05:12 +04:00
/src/libvirt_iohelper
2011-08-16 00:42:43 +04:00
/src/locking/qemu-sanlock.conf
2011-05-06 17:11:32 +04:00
/src/remote/*_client_bodies.h
/src/remote/*_protocol.[ch]
2010-12-06 20:03:10 +03:00
/src/rpc/virnetprotocol.[ch]
2011-07-21 11:32:34 +04:00
/src/util/virkeymaps.h
2010-11-16 22:29:09 +03:00
/tests/*.log
2010-12-02 02:48:19 +03:00
/tests/cputest
2011-04-18 19:30:49 +04:00
/tests/hashtest
2011-06-30 22:13:51 +04:00
/tests/jsontest
2011-06-25 01:30:00 +04:00
/tests/networkxml2argvtest
2010-11-16 22:29:09 +03:00
/tests/nwfilterxml2xmltest
2011-05-31 21:35:32 +04:00
/tests/openvzutilstest
Prevent crash from dlclose() of libvirt.so
When libvirt calls virInitialize it creates a thread local
for the virErrorPtr storage, and registers a callback to
cleanup memory when a thread exits. When libvirt is dlclose()d
or otherwise made non-resident, the callback function is
removed from memory, but the thread local may still exist
and if a thread later exists, it will invoke the callback
and SEGV. There may also be other thread locals with callbacks
pointing to libvirt code, so it is in general never safe to
unload libvirt.so from memory once initialized.
To allow dlclose() to succeed, but keep libvirt.so resident
in memory, link with '-z nodelete'. This issue was first
found with the libvirt CIM provider, but can potentially
hit many of the dynamic language bindings which all ultimately
involve dlopen() in some way, either on libvirt.so itself,
or on the glue code for the binding which in turns links
to libvirt
* configure.ac, src/Makefile.am: Ensure libvirt.so is linked
with -z nodelete
* cfg.mk, .gitignore, tests/Makefile.am, tests/shunloadhelper.c,
tests/shunloadtest.c: A test case to unload libvirt while
a thread is still running.
2011-09-01 20:57:06 +04:00
/tests/shunloadtest
2010-11-16 22:29:09 +03:00
/update.log
2008-10-17 14:03:15 +04:00
Makefile
2008-10-28 20:47:12 +03:00
Makefile.in
2010-12-02 02:48:19 +03:00
TAGS
2008-10-28 20:47:12 +03:00
coverage
2009-07-03 18:32:17 +04:00
cscope.files
cscope.out
2008-10-28 20:47:12 +03:00
results.log
stamp-h
stamp-h.in
stamp-h1
2011-07-28 16:55:21 +04:00
!/gnulib/lib/Makefile.am
!/gnulib/tests/Makefile.am
2011-04-05 23:06:31 +04:00
!/m4/virt-*.m4
!/po/*.po
!/po/POTFILES.in
!/po/libvirt.pot