Aleksandar Ristovski(deleted)
|
Re: Warning: Signal ? does not exist on this system
|
Aleksandar Ristovski(deleted)
09/28/2009 8:31 AM
post38853
|
Re: Warning: Signal ? does not exist on this system
If you do "continue" from IDE, does it work?
Gdb is, by default, stopping at this signal. If you do a
'continue' it should pass it to inferior.
You can change behaviour of signal handling in gdb with gdb
command:
handl SIG41 nostop pass noprint
which you can put in your .gdbinit file.
Note, however, that there is an issue reported (PR 69509)
for a problem similar to this, so you may have to stop at
main, issue this gdb command and then continue.
---
Aleksandar
Leonid Khait wrote:
> In the Windows Based IDE 4.6.0 I have project with 8 threads and one thread (thread number 4 with code as above) use
timer event by signal.
>
> When I start project in Run mode - all threads working without problem.
>
> When I start project in IDE Debug mode every time this thread suspended with red color message in Console:
>
> Switching to process nnn thread 4 ( state=0x03)
> Warning: Signal ? does not exist on this system
>
> I can't found the source of this unexisted Signal ? and every time suspended state of thread don't get me possible to
debug my project.
>
> Please help.
>
> ---
>
> #include <signal.h>
> #include <pthread.h>
> #include <unistd.h>
> #include <sched.h>
> #include <sys/trace.h>
> #include <sys/dispatch.h>
>
> sigset_t set;
> struct sigevent evp;
> int sig;
>
> #define VK_SIG 41
>
> evp.sigev_signo = VK_SIG;
> evp.sigev_notify = SIGEV_SIGNAL_THREAD;
>
> sigemptyset(&set);
> sigaddset(&set, VK_SIG);
>
> pthread_sigmask(SIG_BLOCK, &set, NULL);
>
> timer_create(CLOCK_REALTIME, &evp, &timerid);
>
> struct timespec n_time={0,10000000};
> value.it_interval=n_time;
> value.it_value=n_time;
> timer_settime(timerid, flags, &value, NULL);
>
> while(1)
> {
> some_work();
>
> sigwait(&set, &sig);
>
> }
>
> ...
>
>
>
> _______________________________________________
>
> General
> http://community.qnx.com/sf/go/post38834
>
|
|
|