From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MTFJ6-0004am-Gu for qemu-devel@nongnu.org; Tue, 21 Jul 2009 09:23:00 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MTFJ2-0004aJ-W9 for qemu-devel@nongnu.org; Tue, 21 Jul 2009 09:23:00 -0400 Received: from [199.232.76.173] (port=38198 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MTFJ2-0004aG-Q5 for qemu-devel@nongnu.org; Tue, 21 Jul 2009 09:22:56 -0400 Received: from web30607.mail.mud.yahoo.com ([68.142.200.130]:25870) by monty-python.gnu.org with smtp (Exim 4.60) (envelope-from ) id 1MTFJ1-0005xI-1o for qemu-devel@nongnu.org; Tue, 21 Jul 2009 09:22:56 -0400 Message-ID: <655127.18217.qm@web30607.mail.mud.yahoo.com> Date: Tue, 21 Jul 2009 06:22:41 -0700 (PDT) From: =?iso-8859-1?Q?Teemu_N=E4tkinniemi?= In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] Re: Threads and win32 List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Sebastian Herbszt Cc: aliguori@us.ibm.com, mtosatti@redhat.com, qemu-devel@nongnu.org =0A> > Do the signal warnings make any sense??=0A> =0A> =A0 CC=A0 =A0 i386-= softmmu/vl.o=0A> vl.c: In function `qemu_cpu_kick':=0A> vl.c:3842: error: `= SIGUSR1' undeclared (first use in this=0A> function)=0A> vl.c:3842: error: = (Each undeclared identifier is reported=0A> only once=0A> vl.c:3842: error:= for each function it appears in.)=0A> vl.c: In function `block_io_signals'= :=0A> vl.c:3859: error: storage size of 'sigact' isn't known=0A> vl.c:3861:= warning: implicit declaration of function=0A> `sigemptyset'=0A> vl.c:3862:= warning: implicit declaration of function=0A> `sigaddset'=0A> vl.c:3862: e= rror: `SIGUSR2' undeclared (first use in this=0A> function)=0A> vl.c:3863: = error: `SIGIO' undeclared (first use in this=0A> function)=0A> vl.c:3864: e= rror: `SIGALRM' undeclared (first use in this=0A> function)=0A> vl.c:3865: = warning: implicit declaration of function=0A> `pthread_sigmask'=0A> vl.c:38= 68: error: `SIGUSR1' undeclared (first use in this=0A> function)=0A> vl.c:3= 873: warning: implicit declaration of function=0A> `sigaction'=0A> vl.c:385= 9: warning: unused variable `sigact'=0A> vl.c: In function `unblock_io_sign= als':=0A> vl.c:3861: warning: redundant redeclaration of=0A> 'sigemptyset'= =0A> vl.c:3861: warning: previous implicit declaration of=0A> 'sigemptyset'= was here=0A> vl.c:3862: warning: redundant redeclaration of 'sigaddset'=0A= > vl.c:3862: warning: previous implicit declaration of=0A> 'sigaddset' was = here=0A> vl.c:3881: error: `SIGUSR2' undeclared (first use in this=0A> func= tion)=0A> vl.c:3882: error: `SIGIO' undeclared (first use in this=0A> funct= ion)=0A> vl.c:3883: error: `SIGALRM' undeclared (first use in this=0A> func= tion)=0A> vl.c:3865: warning: redundant redeclaration of=0A> 'pthread_sigma= sk'=0A> vl.c:3865: warning: previous implicit declaration of=0A> 'pthread_s= igmask' was here=0A> vl.c:3887: error: `SIGUSR1' undeclared (first use in t= his=0A> function)=0A> vl.c: In function `qemu_signal_lock':=0A> vl.c:3896: = error: `SIGUSR1' undeclared (first use in this=0A> function)=0A> vl.c: In f= unction `pause_all_vcpus':=0A> vl.c:3937: error: `SIGUSR1' undeclared (firs= t use in this=0A> function)=0A> vl.c: In function `resume_all_vcpus':=0A> v= l.c:3959: error: `SIGUSR1' undeclared (first use in this=0A> function)=0A> = make[1]: *** [vl.o] Error 1=0A> make: *** [subdir-i386-softmmu] Error 2=0A= =0AMinGW's signal support is very limited and it does not have these signal= s. One solution would be to use GnuWin32 support library (http://gnuwin32.s= ourceforge.net/) but I encounter following errors:=0A=0AIn file included fr= om /mingw/lib/gcc/mingw32/../../../include/winx/signalx.h:5,=0A = from D:/msys/src/qemu/vl.c:27:=0A/mingw/lib/gcc/mingw32/../../../inclu= de/winx/sys/signalx.h:57: error: expected specifier-qualifier-list before '= __sigset_t'=0A/mingw/lib/gcc/mingw32/../../../include/winx/sys/signalx.h:64= : error: expected specifier-qualifier-list before '__ptr_t'=0A/mingw/lib/gc= c/mingw32/../../../include/winx/sys/signalx.h:72: error: expected specifier= -qualifier-list before '__ptr_t'=0AD:/msys/src/qemu/vl.c: In function 'bloc= k_io_signals':=0AD:/msys/src/qemu/vl.c:3865: warning: implicit declaration = of function 'sigaddset'=0AD:/msys/src/qemu/vl.c:3868: warning: implicit dec= laration of function 'pthread_sigmask'=0AD:/msys/src/qemu/vl.c:3876: warnin= g: implicit declaration of function 'sigaction'=0AD:/msys/src/qemu/vl.c: In= function 'qemu_uuid_parse':=0AD:/msys/src/qemu/vl.c:4664: warning: unknown= conversion type character 'h' in format=0AD:/msys/src/qemu/vl.c:4664: warn= ing: unknown conversion type character 'h' in format=0AD:/msys/src/qemu/vl.= c:4664: warning: unknown conversion type character 'h' in format=0AD:/msys/= src/qemu/vl.c:4664: warning: unknown conversion type character 'h' in forma= t=0AD:/msys/src/qemu/vl.c:4664: warning: unknown conversion type character = 'h' in format=0AD:/msys/src/qemu/vl.c:4664: warning: unknown conversion typ= e character 'h' in format=0AD:/msys/src/qemu/vl.c:4664: warning: unknown co= nversion type character 'h' in format=0AD:/msys/src/qemu/vl.c:4664: warning= : unknown conversion type character 'h' in format=0AD:/msys/src/qemu/vl.c:4= 664: warning: unknown conversion type character 'h' in format=0AD:/msys/src= /qemu/vl.c:4664: warning: unknown conversion type character 'h' in format= =0AD:/msys/src/qemu/vl.c:4664: warning: unknown conversion type character '= h' in format=0AD:/msys/src/qemu/vl.c:4664: warning: unknown conversion type= character 'h' in format=0AD:/msys/src/qemu/vl.c:4664: warning: unknown con= version type character 'h' in format=0AD:/msys/src/qemu/vl.c:4664: warning:= unknown conversion type character 'h' in format=0AD:/msys/src/qemu/vl.c:46= 64: warning: unknown conversion type character 'h' in format=0AD:/msys/src/= qemu/vl.c:4664: warning: unknown conversion type character 'h' in format=0A= D:/msys/src/qemu/vl.c:4664: warning: too many arguments for format=0Amake[1= ]: *** [vl.o] Error 1=0Amake: *** [subdir-i386-softmmu] Error 2=0A=0AThe ac= tual include file winx/sys/signalx.h looks like this:=0A=0A#ifndef __WINX_S= YS_SIGNALX_H__=0A#define __WINX_SYS_SIGNALX_H__=0A=0A#include = =0A#include =0A#include =0A=0A/* Type of a sign= al handler. */=0Atypedef void (*__sighandler_t) (int);=0A=0A#ifdef __USE_B= SD=0Atypedef __sighandler_t sig_t;=0A#endif=0A=0A# define SIGHUP -1= =0A# define SIGQUIT -3=0A# define SIGTRAP -5=0A# define SIGIOT = -6=0A# define SIGEMT -7=0A# define SIGKILL -9=0A# define SI= GBUS -10=0A# define SIGSYS -12=0A# define SIGPIPE -13=0A# = define SIGALRM -14=0A# define SIGURG -16=0A# define SIGSTOP = -17=0A# define SIGTSTP -18=0A# define SIGCONT -19=0A# define SIG= CHLD -20=0A# define SIGTTIN -21=0A# define SIGTTOU -22=0A# d= efine SIGIO -23=0A# define SIGXCPU -24=0A# define SIGXFSZ -= 25=0A# define SIGVTALRM -26=0A# define SIGPROF -27=0A# define SIGW= INCH -28=0A# define SIGLOST -29=0A# define SIGUSR1 -30=0A# de= fine SIGUSR2 -32=0A=0A#define SIG_SETMASK 0=09/* set mask with sigprocm= ask() */=0A#define SIG_BLOCK 1=09/* set of signals to block */=0A#define SI= G_UNBLOCK 2=09/* set of signals to, well, unblock */=0A=0A/* Type of a sign= al handler. */=0Atypedef void (*__sighandler_t) (int);=0A=0Astruct sigacti= on=0A {=0A /* Signal handler. */=0A __sighandler_t sa_handler;=0A = /* Additional set of signals to be blocked. */=0A __sigset_t sa_mask;= =0A /* Special flags. */=0A int sa_flags;=0A };=0A=0A=0A/* Structur= e describing a signal stack (obsolete). */=0Astruct sigstack=0A {=0A _= _ptr_t ss_sp; /* Signal stack pointer. */=0A int ss_onstack; = /* Nonzero if executing on this stack. */=0A };=0A=0A=0A/* Alternate, pr= eferred interface. */=0Atypedef struct sigaltstack=0A {=0A __ptr_t ss_= sp;=0A size_t ss_size;=0A int ss_flags;=0A } stack_t;=0A=0A/* POSIX = sigsetjmp/siglongjmp macros */=0A#define sigjmp_buf jmp_buf=0A=0A#define _S= AVEMASK=09_JBLEN=0A#define _SIGMASK=09(_JBLEN+1)=0A=0A/*=0A#define sigsetjm= p(env, savemask) ((env)[_SAVEMASK] =3D savemask,\=0A sigprocm= ask (SIG_SETMASK, 0, (sigset_t *) ((env) + _SIGMASK)),\=0A se= tjmp (env))=0A=0A#define siglongjmp(env, val) ((((env)[_SAVEMASK])?\=0A = sigprocmask (SIG_SETMASK, (sigset_t *) ((env) + _SIGMASK), 0):0)= ,\=0A longjmp (env, val))=0A=0A=0A#define sigsetjmp(env, save= mask) (1)=0A#define siglongjmp(env, val) (1)=0A*/=0A#ifndef sigemptyset=0A#= define sigemptyset(s) (*(s) =3D 0)=0A#endif=0A#ifndef sigmask=0A# define s= igmask(sig) (1 << ((sig) - 1))=0A#endif=0A/* # define sigaddset(s, sig) (*(= s) |=3D sigmask (sig)) */=0A=0A#endif /* __WINX_SYS_SIGNALX_H__ */=0A=0ATee= mu=0A=0A=0A