[Rd] Sighandlers

From: Ulrich Staudinger <ustaudinger_at_activequant.com>
Date: Sat, 17 Nov 2012 16:56:04 +0100


Hello everyone,

I am searching and searching and can't find an answer.

I try to register a sighandler in my extension's C code. But my sighandler is never called. Is there anything preventing extensions to receive signals?

I register like this:

[.. some code that works ..]

      // register the sigint listeners.
      if (signal(SIGTERM, killReceiver) == SIG_ERR) {
        printf("2 An error occurred while setting a signal
handler.%s\n", stderr);

}
if (signal(SIGHUP, killReceiver) == SIG_ERR) { printf("3 An error occurred while setting a signal handler.%s\n", stderr);
}
if (signal(SIGINT, killReceiver) == SIG_ERR) { printf("4 An error occurred while setting a signal handler.%s\n", stderr);
}

[.. even more code that works ..]

handler code:

static void killReceiver(int signum){
  printf("Cleaning up\n");
}

When I exit R, my signal handler is not being called. Am I listening to the right signals? Do I have some misunderstanding on my side?

Funny side story, if I manually raise(SIGINT), my handlers gets called.

Thanks for some light on this,

Ulrich

--
Ulrich Staudinger

P: +41 79 702 05 95
E: ustaudinger_at_activequant.com

http://www.activequant.com
Connect online: https://www.xing.com/profile/Ulrich_Staudinger

______________________________________________
R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Received on Sun 18 Nov 2012 - 14:00:24 GMT

This quarter's messages: by month, or sorted: [ by date ] [ by thread ] [ by subject ] [ by author ]

All messages

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Mon 19 Nov 2012 - 11:20:54 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.

list of date sections of archive