Project Home
Project Home
Trackers
Trackers
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - Warning: Signal ? does not exist on this system: (2 Items)
   
Warning: Signal ? does not exist on this system  
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);

  }

...
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
>