qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 0/4] qemu_thread_create: propagate errors to callers to check
@ 2018-09-07 13:38 Fei Li
  2018-09-07 13:38 ` [Qemu-devel] [PATCH v2 1/4] Fix segmentation fault when qemu_signal_init fails Fei Li
                   ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: Fei Li @ 2018-09-07 13:38 UTC (permalink / raw)
  To: qemu-devel; +Cc: berrange, famz, armbru, eblake, fli

Hi,

This idea comes from BiteSizedTasks, and this patch series implement
the error checking of qemu_thread_create: make qemu_thread_create
return a flag to indicate if it succeeded rather than failing with an
error; make all callers check it.

The first three patches apply to those call traces whose further
callers already have the *errp to pass, thus add a new Error paramater
in the call trace to propagate the error and let the further caller
check it. The last patch modifies the qemu_thread_create() and makes
it return a bool to all direct callers to indicate if it succeeds.

v2:
- Pass errp straightly instead of using a local_err & error_propagate
- Return a bool: false/true to indicate if one function succeeds
- Merge v1's last two patches into one to avoid the compling error
- Fix one omitted error in patch1 and update some error messages

Please help to review. Thanks.


Fei Li (4):
  Fix segmentation fault when qemu_signal_init fails
  ui/vnc.c: polish vnc_init_func
  qemu_init_vcpu: add a new Error parameter to propagate
  qemu_thread_create: propagate the error to callers to handle

 accel/tcg/user-exec-stub.c      |  2 +-
 cpus.c                          | 79 ++++++++++++++++++++++++++---------------
 dump.c                          |  6 ++--
 hw/misc/edu.c                   |  6 ++--
 hw/ppc/spapr_hcall.c            |  9 +++--
 hw/rdma/rdma_backend.c          |  3 +-
 hw/usb/ccid-card-emulated.c     | 13 ++++---
 include/qemu/osdep.h            |  2 +-
 include/qemu/thread.h           |  4 +--
 include/qom/cpu.h               |  2 +-
 include/ui/console.h            |  2 +-
 io/task.c                       |  3 +-
 iothread.c                      | 16 ++++++---
 migration/migration.c           | 49 +++++++++++++++++--------
 migration/postcopy-ram.c        | 12 +++++--
 migration/ram.c                 | 40 +++++++++++++++------
 migration/savevm.c              | 11 ++++--
 target/alpha/cpu.c              |  4 ++-
 target/arm/cpu.c                |  4 ++-
 target/cris/cpu.c               |  4 ++-
 target/hppa/cpu.c               |  4 ++-
 target/i386/cpu.c               |  4 ++-
 target/lm32/cpu.c               |  4 ++-
 target/m68k/cpu.c               |  4 ++-
 target/microblaze/cpu.c         |  4 ++-
 target/mips/cpu.c               |  4 ++-
 target/moxie/cpu.c              |  4 ++-
 target/nios2/cpu.c              |  4 ++-
 target/openrisc/cpu.c           |  4 ++-
 target/ppc/translate_init.inc.c |  4 ++-
 target/riscv/cpu.c              |  4 ++-
 target/s390x/cpu.c              |  4 ++-
 target/sh4/cpu.c                |  4 ++-
 target/sparc/cpu.c              |  4 ++-
 target/tilegx/cpu.c             |  4 ++-
 target/tricore/cpu.c            |  4 ++-
 target/unicore32/cpu.c          |  4 ++-
 target/xtensa/cpu.c             |  4 ++-
 tests/atomic_add-bench.c        |  3 +-
 tests/iothread.c                |  2 +-
 tests/qht-bench.c               |  3 +-
 tests/rcutorture.c              |  3 +-
 tests/test-aio.c                |  2 +-
 tests/test-rcu-list.c           |  3 +-
 ui/vnc-jobs.c                   | 17 ++++++---
 ui/vnc-jobs.h                   |  2 +-
 ui/vnc.c                        | 12 +++++--
 util/compatfd.c                 | 16 ++++++---
 util/main-loop.c                | 10 +++---
 util/oslib-posix.c              | 12 +++++--
 util/qemu-thread-posix.c        | 18 ++++++----
 util/qemu-thread-win32.c        | 15 +++++---
 util/rcu.c                      |  3 +-
 util/thread-pool.c              |  4 ++-
 54 files changed, 325 insertions(+), 143 deletions(-)

-- 
2.13.7

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2018-09-13 10:14 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-09-07 13:38 [Qemu-devel] [PATCH v2 0/4] qemu_thread_create: propagate errors to callers to check Fei Li
2018-09-07 13:38 ` [Qemu-devel] [PATCH v2 1/4] Fix segmentation fault when qemu_signal_init fails Fei Li
2018-09-12  7:55   ` Fam Zheng
2018-09-13  8:46     ` Fei Li
2018-09-13  8:58       ` Fam Zheng
2018-09-07 13:39 ` [Qemu-devel] [PATCH v2 2/4] ui/vnc.c: polish vnc_init_func Fei Li
2018-09-12  7:57   ` Fam Zheng
2018-09-13  9:03     ` Fei Li
2018-09-07 13:39 ` [Qemu-devel] [PATCH v2 3/4] qemu_init_vcpu: add a new Error parameter to propagate Fei Li
2018-09-07 13:39 ` [Qemu-devel] [PATCH v2 4/4] qemu_thread_create: propagate the error to callers to handle Fei Li
2018-09-12  8:20   ` Fam Zheng
2018-09-13 10:14     ` Fei Li

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).