1. 22 10月, 2011 1 次提交
  2. 24 7月, 2011 1 次提交
  3. 11 6月, 2011 1 次提交
    • A
      sigfd: use pthread_sigmask · 09716e45
      Alexander Graf 提交于
      Qemu uses signalfd to figure out, if a signal occured without the need
      to actually receive the signal. Instead, it can read from the fd to receive
      its news.
      
      Now, we obviously don't always have signalfd around. Especially not on
      non-Linux systems. So what we do there is that we create a new thread,
      block that thread on all signals and simply call sigwait to wait for a
      signal we're interested in to occur.
      
      This all sounds great, but what we're really doing is:
      
          sigset_t all;
      
          sigfillset(&all);
          sigprocmask(SIG_BLOCK, &all, NULL);
      
      which - on Darwin - blocks all signals on the current _process_, not only
      on the current thread. To block signals on the thread, we can use
      pthread_sigmask().
      
      This patch does that, assuming that my above analysis is correct, and thus
      renders Qemu useable on Darwin again.
      Reported-by: NAndreas Färber <andreas.faerber@web.de>
      Acked-by: NPaolo Bonizni <pbonzini@redhat.com>
      CC: Jan Kiszka <jan.kiszka@siemens.com>
      CC: Anthony Liguori <anthony@codemonkey.ws>
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      Signed-off-by: NEdgar E. Iglesias <edgar.iglesias@gmail.com>
      09716e45
  4. 26 2月, 2011 1 次提交
  5. 21 10月, 2010 1 次提交
    • M
      signalfd compatibility · dcc38d1c
      Marcelo Tosatti 提交于
      Port qemu-kvm's signalfd compat code.
      
      commit 5a7fdd0abd7cd24dac205317a4195446ab8748b5
      Author: Anthony Liguori <aliguori@us.ibm.com>
      Date:   Wed May 7 11:55:47 2008 -0500
      
          Use signalfd() in io-thread
      
          This patch reworks the IO thread to use signalfd() instead of sigtimedwait()
          This will eliminate the need to use SIGIO everywhere.
      Signed-off-by: NMarcelo Tosatti <mtosatti@redhat.com>
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      dcc38d1c
  6. 09 10月, 2008 1 次提交
    • A
      Fix IO performance regression in sparc · 9e472e10
      aliguori 提交于
      Replace signalfd with signal handler/pipe.  There is no way to interrupt
      the CPU execution loop when a file descriptor becomes readable.  This
      results in a large performance regression in sparc emulation during
      bootup.
         
      This patch switches us to signal handler/pipe which was originally
      suggested by Ian Jackson.  The signal handler lets us interrupt the
      CPU emulation loop while the write to a pipe lets us avoid the
      select/signal race condition.
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      
      
      
      git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5451 c046a42c-6fe2-441c-8c8c-71466251a162
      9e472e10
  7. 28 9月, 2008 2 次提交
  8. 11 9月, 2008 1 次提交