qemu/util
Marc-André Lureau d89f30b4df win32: wrap socket close() with an exception handler
Since commit abe34282 ("win32: avoid mixing SOCKET and file descriptor
space"), we set HANDLE_FLAG_PROTECT_FROM_CLOSE on the socket FD, to
prevent closing the HANDLE with CloseHandle. This raises an exception
which under gdb is fatal, and qemu exits.

Let's catch the expected error instead.

Note: this appears to work, but the mingw64 macro is not well documented
or tested, and it's not obvious how it is meant to be used.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20230515132440.1025315-1-marcandre.lureau@redhat.com>
2023-05-28 13:08:25 +04:00
..
aio-posix.c
aio-posix.h
aio-wait.c
aio-win32.c
aiocb.c
async-teardown.c
async.c
atomic64.c
base64.c
bitmap.c
bitops.c
block-helpers.c
block-helpers.h
buffer.c
bufferiszero.c
cacheflush.c
compatfd.c
coroutine-sigaltstack.c
coroutine-ucontext.c
coroutine-windows.c
cpuinfo-aarch64.c
cpuinfo-i386.c
crc32c.c
crc-ccitt.c
cutils.c
dbus.c
drm.c
envlist.c
error-report.c
error.c
event_notifier-posix.c
event_notifier-win32.c
fdmon-epoll.c
fdmon-io_uring.c
fdmon-poll.c
fifo8.c
filemonitor-inotify.c
filemonitor-stub.c
getauxval.c
guest-random.c
hbitmap.c
hexdump.c
host-utils.c
id.c
int128.c
interval-tree.c
iov.c
iova-tree.c
keyval.c
lockcnt.c
log.c
main-loop.c
memalign.c
memfd.c
meson.build
mmap-alloc.c
module.c
notify.c
nvdimm-utils.c
osdep.c
oslib-posix.c
oslib-win32.c win32: wrap socket close() with an exception handler 2023-05-28 13:08:25 +04:00
path.c
qdist.c
qemu-co-shared-resource.c
qemu-co-timeout.c
qemu-config.c
qemu-coroutine-io.c
qemu-coroutine-lock.c
qemu-coroutine-sleep.c
qemu-coroutine.c
qemu-option.c
qemu-print.c
qemu-progress.c
qemu-sockets.c
qemu-thread-common.h
qemu-thread-posix.c
qemu-thread-win32.c
qemu-timer-common.c
qemu-timer.c
qht.c
qsp.c
qtree.c
range.c
rcu.c
readline.c
selfmap.c
stats64.c
sys_membarrier.c
systemd.c
thread-context.c
thread-pool.c
throttle.c
timed-average.c
trace-events
trace.h
transactions.c
unicode.c
uri.c
userfaultfd.c
uuid.c
vfio-helpers.c
vhost-user-server.c
yank.c