libvirt/src/util
Daniel P. Berrangé 695bdb3841 src: ensure GSource background unref happens in correct event loop
The g_idle_add function adds a callback to the primary GMainContext.

To workaround the GSource unref bugs, we need to add our callbacks
to the GMainContext that is associated with the GSource being
unref'd. Thus code using the per-VM virEventThread must use its
private GMainContext.

Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2021-03-17 09:16:05 +00:00
..
glibcompat.c src: ensure GSource background unref happens in correct event loop 2021-03-17 09:16:05 +00:00
glibcompat.h src: ensure GSource background unref happens in correct event loop 2021-03-17 09:16:05 +00:00
iohelper.c util: iohelper: Don't handle OOM from posix_memalign 2021-03-02 09:50:19 +01:00
meson.build meson: tools: depend on keycode generated sources 2021-03-05 20:05:54 +04:00
viralloc.c viralloc: Remove VIR_ALLOC_VAR 2021-02-03 16:09:25 +01:00
viralloc.h viralloc: Remove VIR_ALLOC_VAR 2021-02-03 16:09:25 +01:00
virarch.c util: add a virArchFromHost() impl for Windows 2020-01-29 14:51:39 +00:00
virarch.h util: add ARCH_IS_MIPS64 helper macro 2020-11-20 12:09:51 +00:00
virarptable.c util: replace VIR_FREE with g_free in all vir*Free() functions 2021-02-05 00:20:43 -05:00
virarptable.h
viraudit.c Use g_strerror instead of virStrerror 2020-03-13 17:26:55 +01:00
viraudit.h Use G_GNUC_PRINTF instead of ATTRIBUTE_FMT_PRINTF 2019-10-15 16:14:18 +02:00
virauth.c util: Fix memory leak in virAuthGetCredential 2020-06-16 15:01:05 +02:00
virauth.h
virauthconfig.c util: replace VIR_FREE with g_free in all vir*Free() functions 2021-02-05 00:20:43 -05:00
virauthconfig.h util: Fix memory leak in virAuthGetCredential 2020-06-16 15:01:05 +02:00
virbitmap.c util: replace VIR_FREE with g_free in all vir*Free() functions 2021-02-05 00:20:43 -05:00
virbitmap.h util: virbitmap: Remove virBitmapCopy 2020-10-05 15:50:45 +02:00
virbpf.c lib: Prefer WITH_* prefix for #if conditionals 2020-09-02 10:28:10 +02:00
virbpf.h lib: Prefer WITH_* prefix for #if conditionals 2020-09-02 10:28:10 +02:00
virbuffer.c virBufferAdd: Ensure that the buffer is initialized also when len == 0 2021-03-05 15:33:34 +01:00
virbuffer.h src: fix word spell typos 2020-07-09 10:01:41 +02:00
vircgroup.c vircgroup: drop unused function virCgroupSetupCpuShares 2021-03-04 11:13:31 +01:00
vircgroup.h vircgroup: drop unused function virCgroupSetupCpuShares 2021-03-04 11:13:31 +01:00
vircgroupbackend.c
vircgroupbackend.h vircgroup: introduce virCgroupV1Exists and virCgroupV2Exists 2021-02-10 13:37:12 +01:00
vircgrouppriv.h vircgroup: introduce nested cgroup to properly work with systemd 2021-02-10 13:37:12 +01:00
vircgroupv1.c lib: Replace virFileMakePath() with g_mkdir_with_parents() 2021-03-04 20:52:23 +01:00
vircgroupv1.h util: cgroup: use #pragma once in headers 2019-06-19 17:12:32 +02:00
vircgroupv2.c lib: Replace virFileMakePath() with g_mkdir_with_parents() 2021-03-04 20:52:23 +01:00
vircgroupv2.h
vircgroupv2devices.c src: add missing headers to various files 2021-01-06 13:15:17 +01:00
vircgroupv2devices.h vircgroupv2devices: Unexport virCgroupV2DevicesAttachProg() 2020-01-06 17:30:17 +01:00
vircommand.c util: Have virCommand remember whether limits are set 2021-03-08 22:41:40 +01:00
vircommand.h virCommandSetSendBuffer: Provide saner semantics 2021-03-05 15:33:34 +01:00
vircommandpriv.h
virconf.c lib: Put some variable declarations on individual lines 2021-03-15 09:38:18 +01:00
virconf.h Remove virutil.h from all header files 2020-02-24 23:15:50 +01:00
vircrypto.c virCryptoEncryptDataAESgnutls: Use virSecureErase instead of memset 2021-02-03 13:07:13 +01:00
vircrypto.h Use G_GNUC_WARN_UNUSED_RESULT instead of ATTRIBUTE_RETURN_CHECK 2019-10-15 11:25:22 +02:00
virdaemon.c lib: Replace virFileMakePath() with g_mkdir_with_parents() 2021-03-04 20:52:23 +01:00
virdaemon.h util: introduce shared daemon startup code 2020-03-27 16:22:49 +01:00
virdevmapper.c virDevMapperGetTargetsImpl: Use correct length when copying into dm.name 2021-03-08 12:16:13 +01:00
virdevmapper.h util: Move virIsDevMapperDevice() to virdevmapper.c 2020-06-15 14:50:46 +02:00
virdnsmasq.c lib: Replace virFileMakePath() with g_mkdir_with_parents() 2021-03-04 20:52:23 +01:00
virdnsmasq.h util: define g_autoptr cleanups for a couple dnsmasq objects 2020-07-20 19:08:07 -04:00
virebtables.c util: replace VIR_FREE with g_free in all vir*Free() functions 2021-02-05 00:20:43 -05:00
virebtables.h
virendian.h
virenum.c
virenum.h src: replace verify(expr) with G_STATIC_ASSERT(expr) 2020-01-17 10:02:01 +00:00
virerror.c util: virerror: Avoid a copy of the error messages 2021-03-05 15:01:29 +01:00
virerror.h util: virerror: Remove VIR_ERROR_MAX_LENGTH macro 2021-03-05 15:01:29 +01:00
virerrorpriv.h
virevent.c util: event: check return value of virInitialize 2020-09-23 13:26:34 +02:00
virevent.h event: add API for requiring an event loop impl to be registered 2019-12-18 14:04:59 +00:00
vireventglib.c src: ensure GSource background unref happens in correct event loop 2021-03-17 09:16:05 +00:00
vireventglib.h util: import an event loop impl based on GMainContext 2020-02-07 15:03:53 +00:00
vireventglibwatch.c util: keep track of full GSource object not source ID number 2020-08-07 12:43:56 +01:00
vireventglibwatch.h util: keep track of full GSource object not source ID number 2020-08-07 12:43:56 +01:00
vireventthread.c util: do not unref event thread after joining it 2020-09-23 17:06:36 +02:00
vireventthread.h src: introduce an abstraction for running event loops 2020-03-11 14:44:04 +00:00
virfcp.c virBuildPath: Remove return value 2021-03-02 09:50:19 +01:00
virfcp.h
virfdstream.c util: replace VIR_FREE with g_free in all vir*Free() functions 2021-02-05 00:20:43 -05:00
virfdstream.h
virfile.c virFileLoopDeviceAssociate: Use virStrcpy instead of virStrncpy 2021-03-05 15:01:29 +01:00
virfile.h util: Drop virFileMakePath() and virFileMakePathWithMode() 2021-03-04 20:52:23 +01:00
virfilecache.c lib: Replace virFileMakePath() with g_mkdir_with_parents() 2021-03-04 20:52:23 +01:00
virfilecache.h qemu: don't continue loading caps if outdated 2020-06-23 17:33:30 +01:00
virfirewall.c virFirewallApply: Fix possible NULL dereference on error 2021-03-05 15:33:34 +01:00
virfirewall.h util: synchronize with firewalld before we start calling iptables directly 2020-11-24 14:21:58 -05:00
virfirewalld.c util: firewall: use g_new0 2020-10-06 12:31:34 +02:00
virfirewalld.h
virfirewalldpriv.h
virfirewallpriv.h
virfirmware.c Replace virStringSplit with g_strsplit 2021-02-11 17:05:34 +01:00
virfirmware.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC instead of VIR_DEFINE_AUTOPTR_FUNC 2019-10-16 12:06:43 +02:00
virgdbus.c virgdbus: fix getting non-shared DBus connection 2020-11-09 23:42:33 +01:00
virgdbus.h virgdbus: add DBus reply format check 2020-09-23 12:53:31 +02:00
virgettext.c lib: Prefer WITH_* prefix for #if conditionals 2020-09-02 10:28:10 +02:00
virgettext.h
virgic.c Remove virutil.h where possible 2020-02-24 23:15:49 +01:00
virgic.h Remove virutil.h from all header files 2020-02-24 23:15:50 +01:00
virglibutil.c util: Add helpers for auto-freeing GSList filled with strings 2021-02-11 17:05:32 +01:00
virglibutil.h util: Add helpers for auto-freeing GSList filled with strings 2021-02-11 17:05:32 +01:00
virhash.c util: hash: Add deprecation notices for functions which have g_hash_table replacements 2020-11-06 10:40:56 +01:00
virhash.h util: hash: Retire 'virHashTable' in favor of 'GHashTable' 2020-11-06 10:40:51 +01:00
virhashcode.c Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00
virhashcode.h Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00
virhook.c virBuildPath: Remove return value 2021-03-02 09:50:19 +01:00
virhook.h bhyve: add hooks 2020-02-24 17:25:07 +00:00
virhostcpu.c virHostCPUGetStatsLinux: Avoid 'strcpy' 2021-03-05 15:33:34 +01:00
virhostcpu.h domaincapsmock: mock virHostCPUGetMicrocodeVersion() 2020-08-25 19:44:43 +02:00
virhostcpupriv.h hostcpu: Introduce virHostCPUGetSignature 2020-05-25 16:09:41 +02:00
virhostmem.c lib: Prefer WITH_* prefix for #if conditionals 2020-09-02 10:28:10 +02:00
virhostmem.h
virhostuptime.c virhostuptime: Fix rounding in uptime calculation 2021-02-02 15:00:55 +01:00
virhostuptime.h virhostuptime: Introduce virHostBootTimeInit() 2020-01-07 17:00:10 +01:00
viridentity.c Substitute security_context_t with char * 2020-07-15 14:31:07 +02:00
viridentity.h util: convert virIdentity class to use GObject 2019-10-14 10:54:42 +01:00
virinitctl.c src: replace verify(expr) with G_STATIC_ASSERT(expr) 2020-01-17 10:02:01 +00:00
virinitctl.h
viriptables.c util: synchronize with firewalld before we start calling iptables directly 2020-11-24 14:21:58 -05:00
viriptables.h network: allow DHCP/DNS/TFTP explicitly in OUTPUT rules 2019-10-18 18:49:54 +01:00
viriscsi.c Remove all the uses that use subtraction in their length argument 2019-12-12 14:24:35 +01:00
viriscsi.h Use G_GNUC_WARN_UNUSED_RESULT instead of ATTRIBUTE_RETURN_CHECK 2019-10-15 11:25:22 +02:00
virjson.c util: json: Report non-OOM error on yajl failure 2021-03-02 09:50:20 +01:00
virjson.h virJSONValueArrayAppend: Clear pointer when taking ownership of passed value 2021-02-20 13:26:37 +01:00
virkeycode.c Split declarations from initializations 2020-08-25 19:03:11 +02:00
virkeycode.h Remove virutil.h from all header files 2020-02-24 23:15:50 +01:00
virkmod.c util: rename method to virKModIsProhibited 2020-06-26 15:39:33 +01:00
virkmod.h util: rename method to virKModIsProhibited 2020-06-26 15:39:33 +01:00
virlease.c virJSONValueArrayAppend: Clear pointer when taking ownership of passed value 2021-02-20 13:26:37 +01:00
virlease.h
virlockspace.c virLockSpaceNewPostExecRestart: Fix out-of-bounds array access 2021-03-12 11:02:35 +01:00
virlockspace.h
virlog.c lib: Replace virFileMakePath() with g_mkdir_with_parents() 2021-03-04 20:52:23 +01:00
virlog.h util: virlog: unexport virLogVMessage 2020-08-03 15:30:40 +02:00
virmacaddr.c util: replace VIR_FREE with g_free in all vir*Free() functions 2021-02-05 00:20:43 -05:00
virmacaddr.h src: replace verify(expr) with G_STATIC_ASSERT(expr) 2020-01-17 10:02:01 +00:00
virmacmap.c virJSONValueArrayAppend: Clear pointer when taking ownership of passed value 2021-02-20 13:26:37 +01:00
virmacmap.h util: macmap: Convert to use GSList for storing macs instead of string lists 2021-02-11 17:05:33 +01:00
virmdev.c Use g_steal_pointer where possible 2021-03-01 15:54:42 +01:00
virmdev.h hostdev: mdev: Lookup mdevs by sysfs path rather than mdev struct 2021-01-08 08:10:02 +01:00
virmodule.c lib: Prefer WITH_* prefix for #if conditionals 2020-09-02 10:28:10 +02:00
virmodule.h
virnetdev.c util: virnetlink: Add wrapper for 'nlmsg_alloc_simple' 2021-03-02 09:50:19 +01:00
virnetdev.h util: add virNetDevGetPhysPortName 2021-01-25 20:27:38 -05:00
virnetdevbandwidth.c lib: Put some variable declarations on individual lines 2021-03-15 09:38:18 +01:00
virnetdevbandwidth.h lib: Put some variable declarations on individual lines 2021-03-15 09:38:18 +01:00
virnetdevbridge.c util: virnetlink: Add wrapper for 'nlmsg_alloc_simple' 2021-03-02 09:50:19 +01:00
virnetdevbridge.h util: query/set BR_ISOLATED flag on netdevs attached to bridge 2020-02-20 23:07:53 -05:00
virnetdevip.c util: virnetlink: Add wrapper for 'nlmsg_alloc_simple' 2021-03-02 09:50:19 +01:00
virnetdevip.h util: remove unused virNetDevIPWaitDadFinish() 2020-09-10 11:47:35 -04:00
virnetdevmacvlan.c util: replace VIR_FREE with g_free in all vir*Free() functions 2021-02-05 00:20:43 -05:00
virnetdevmacvlan.h netdevmacvlan: Use helper function to create unique macvlan/macvtap name 2020-12-15 13:35:33 -05:00
virnetdevmidonet.c src: util: rename some program macros 2020-07-10 09:40:45 +02:00
virnetdevmidonet.h conf: return a const from virDomainNetGetActualVirtPortProfile 2019-11-25 15:29:56 -05:00
virnetdevopenvswitch.c util: Remove '\n' from vhostuser ifname 2021-02-05 09:57:14 +01:00
virnetdevopenvswitch.h virnetdevopenvswitch: Try to unescape ovs-vsctl reply in one specific case 2020-12-17 09:27:51 +01:00
virnetdevtap.c util: minor comment/formatting changes to virNetDevTapCreate() 2020-12-16 21:32:07 -05:00
virnetdevtap.h netdevtap: Use common helper function to create unique tap name 2020-12-15 13:35:27 -05:00
virnetdevveth.c util:veth: Create veth device pair by netlink 2020-12-16 14:43:18 -05:00
virnetdevveth.h Use G_GNUC_WARN_UNUSED_RESULT instead of ATTRIBUTE_RETURN_CHECK 2019-10-15 11:25:22 +02:00
virnetdevvlan.c util: replace VIR_FREE with g_free in all vir*Free() functions 2021-02-05 00:20:43 -05:00
virnetdevvlan.h Remove virutil.h from all header files 2020-02-24 23:15:50 +01:00
virnetdevvportprofile.c util: virnetlink: Add wrapper for 'nlmsg_alloc_simple' 2021-03-02 09:50:19 +01:00
virnetdevvportprofile.h Remove virutil.h from all header files 2020-02-24 23:15:50 +01:00
virnetlink.c util: Fix error reporting in virnetlink 2021-03-09 13:33:09 +01:00
virnetlink.h util: virnetlink: Add wrapper for 'nlmsg_alloc_simple' 2021-03-02 09:50:19 +01:00
virnodesuspend.c src: improve thread naming with human targetted names 2020-03-05 12:23:04 +00:00
virnodesuspend.h
virnuma.c remove unnecessary cleanup labels and unused return variables 2020-11-02 22:01:36 -05:00
virnuma.h Remove virutil.h from all header files 2020-02-24 23:15:50 +01:00
virnvme.c util: replace VIR_FREE with g_free in all *Dispose() functions 2021-02-05 00:22:09 -05:00
virnvme.h virhostdev: Include virNVMeDevice module 2019-12-17 10:04:43 +01:00
virobject.c util: convert VIR_FREE to g_free in other functions that free their arg 2021-02-12 12:10:38 -05:00
virobject.h src: make virObject inherit from GObject 2020-06-03 10:20:17 +01:00
virpci.c virBuildPath: Remove return value 2021-03-02 09:50:19 +01:00
virpci.h virpci.c: use virPCIDeviceAddressPtr in virPCIDeviceListDel() 2021-03-01 12:25:33 -03:00
virperf.c util: replace VIR_FREE with g_free in all vir*Free() functions 2021-02-05 00:20:43 -05:00
virperf.h Remove virutil.h from all header files 2020-02-24 23:15:50 +01:00
virpidfile.c lib: Replace virFileMakePath() with g_mkdir_with_parents() 2021-03-04 20:52:23 +01:00
virpidfile.h Use G_GNUC_WARN_UNUSED_RESULT instead of ATTRIBUTE_RETURN_CHECK 2019-10-15 11:25:22 +02:00
virpolkit.c virPolkitCheckAuth: Avoid virStringListLength in loop condition 2021-02-11 17:05:34 +01:00
virpolkit.h
virportallocator.c util: replace VIR_FREE with g_free in all vir*Free() functions 2021-02-05 00:20:43 -05:00
virportallocator.h
virprobe.h
virprocess.c util: Don't special-case setting a limit to zero 2021-03-08 22:41:40 +01:00
virprocess.h tests: Mock virProcessGetMaxMemLock() 2021-03-08 22:41:40 +01:00
virqemu.c qemu: remove support for generating yes|no boolean options 2021-02-16 14:03:13 +00:00
virqemu.h qemu: remove support for generating yes|no boolean options 2021-02-16 14:03:13 +00:00
virrandom.c internal.h: Introduce and use VIR_IS_POW2() 2020-12-04 16:24:19 +01:00
virrandom.h Use G_GNUC_NO_INLINE instead of ATTRIBUTE_NOINLINE 2019-10-15 16:14:18 +02:00
virresctrl.c lib: Replace virFileMakePath() with g_mkdir_with_parents() 2021-03-04 20:52:23 +01:00
virresctrl.h util: sync variable names between header and C files 2020-08-03 15:19:29 +02:00
virresctrlpriv.h
virrotatingfile.c util: replace VIR_FREE with g_free in all vir*Free() functions 2021-02-05 00:20:43 -05:00
virrotatingfile.h
virscsi.c Remove useless comments for VIR_FROM_THIS definition 2021-03-02 09:50:19 +01:00
virscsi.h Remove virautoclean.h 2019-10-16 12:06:44 +02:00
virscsihost.c util: quieten virSCSIHostGetUniqueId 2020-11-06 15:03:39 +01:00
virscsihost.h
virscsivhost.c Remove useless comments for VIR_FROM_THIS definition 2021-03-02 09:50:19 +01:00
virscsivhost.h Remove virutil.h from all header files 2020-02-24 23:15:50 +01:00
virseclabel.c util: replace VIR_FREE with g_free in all vir*Free() functions 2021-02-05 00:20:43 -05:00
virseclabel.h
virsecret.c virSecretLookupParseSecret: Use g_steal_pointer 2021-01-08 09:18:21 +01:00
virsecret.h virSecretLookupDefCopy: Remove return value 2020-03-20 09:47:16 +01:00
virsecureerase.c util: virsecureerase: Introduce virSecureEraseString 2021-02-03 13:07:13 +01:00
virsecureerase.h util: virsecureerase: Introduce virSecureEraseString 2021-02-03 13:07:13 +01:00
virsocket.c util: Fix file descriptor passing on 64-bit FreeBSD and NetBSD. 2021-02-17 10:15:33 +00:00
virsocket.h gnulib: delete all gnulib integration 2020-02-07 15:03:54 +00:00
virsocketaddr.c util: replace VIR_FREE with g_free in all vir*Free() functions 2021-02-05 00:20:43 -05:00
virsocketaddr.h util: sync variable names between header and C files 2020-08-03 15:19:29 +02:00
virstoragefile.c util: Remove unused 'virStorageFileParseChainIndex' 2021-01-27 07:49:58 +01:00
virstoragefile.h util: Remove unused 'virStorageFileParseChainIndex' 2021-01-27 07:49:58 +01:00
virstring.c util: virstring: Remove virStrncpy 2021-03-12 10:57:42 +01:00
virstring.h util: virstring: Remove virStrncpy 2021-03-12 10:57:42 +01:00
virsysinfo.c virsysinfo: Define and use auto cleanup func for virSysinfoDef properly 2021-03-15 09:34:18 +01:00
virsysinfo.h virsysinfo: Define and use auto cleanup func for virSysinfoDef properly 2021-03-15 09:34:18 +01:00
virsysinfopriv.h virsysinfo: Drop global @sysinfoDmidecode 2020-06-10 14:00:38 +02:00
virsystemd.c virSystemdCreateMachine: Use proper format string for uint64_t when constructing gvariant 2021-03-12 10:59:05 +01:00
virsystemd.h virsystemd: introduce virSystemdGetMachineUnitByPID 2021-02-10 13:37:11 +01:00
virsystemdpriv.h
virthread.c util: Use glib memory functions in virThreadCreateFull 2020-09-11 18:19:58 +02:00
virthread.h src: set the OS level thread name 2020-03-05 12:23:02 +00:00
virthreadjob.c
virthreadjob.h
virthreadpool.c util: replace VIR_FREE with g_free in all vir*Free() functions 2021-02-05 00:20:43 -05:00
virthreadpool.h util: remove unused virThreadPoolNew macro 2020-09-07 09:34:00 +03:00
virtime.c util: o-z: use g_new0 2020-10-06 12:31:34 +02:00
virtime.h Use G_GNUC_WARN_UNUSED_RESULT instead of ATTRIBUTE_RETURN_CHECK 2019-10-15 11:25:22 +02:00
virtpm.c virtpm: Fix @path handling in virTPMEmulatorInit() 2021-03-02 09:49:23 +01:00
virtpm.h Use G_GNUC_NO_INLINE instead of ATTRIBUTE_NOINLINE 2019-10-15 16:14:18 +02:00
virtypedparam-public.c util: replace VIR_FREE with g_free in all vir*Free() functions 2021-02-05 00:20:43 -05:00
virtypedparam.c Use g_steal_pointer where possible 2021-03-01 15:54:42 +01:00
virtypedparam.h Remove virutil.h from all header files 2020-02-24 23:15:50 +01:00
viruri.c virURIFormat: abort() on failure 2021-03-02 09:50:19 +01:00
viruri.h peer2peer migration: allow connecting to local sockets 2020-09-04 10:20:49 +02:00
virusb.c util: replace VIR_FREE with g_free in all *Dispose() functions 2021-02-05 00:22:09 -05:00
virusb.h Remove virautoclean.h 2019-10-16 12:06:44 +02:00
virutil.c virutil: Do not use g_get_host_name() to obtain hostname 2021-03-12 08:45:04 +01:00
virutil.h virIndexToDiskName: Make 'idx' unsigned and remove check 2021-03-05 15:33:34 +01:00
viruuid.c viruuid: Rework virUUIDIsValid() 2020-12-04 16:24:19 +01:00
viruuid.h viruuid: Rework virUUIDIsValid() 2020-12-04 16:24:19 +01:00
virvhba.c remove unnecessary cleanup labels and unused return variables 2020-11-02 22:01:36 -05:00
virvhba.h
virvsock.c lib: Prefer WITH_* prefix for #if conditionals 2020-09-02 10:28:10 +02:00
virvsock.h
virxdrdefs.h src: remove all traces of Cygwin support 2020-01-29 14:51:40 +00:00
virxml.c virXMLParseHelper: abort() on allocation failure 2021-03-02 09:50:19 +01:00
virxml.h util: xml: Add wrapper for 'xmlNewNode' 2021-03-02 09:50:19 +01:00