signal-handling

    0热度

    3回答

    任何人都可以告诉我在Java中如何处理信号?我有一种情况,我需要通过应用程序main()向一个线程发送事件/信号。

    2热度

    2回答

    使用信号处理程序的正确方法是什么? 我看到下面的代码从这个question,并想知道为什么你仍然需要把signal(SIGSEGV,sig_func);里面的sig_func?当进程收到一个SIGSEGV信号时,不会创建一个无止境的循环吗? void sig_func(int sig) { write(1, "Caught signal 11\n", 17); signal(

    8热度

    4回答

    我在一个情况下,我需要阅读的信号处理器(SIGSEGV信号处理程序,据我所知这是每个线程基地)内的二叉搜索树(BST)内共享数据。 BST可以由应用程序中的其他线程修改。 现在既然信号处理程序不能使用信号量,互斥锁等,因此无法访问共享数据,我该如何解决这个问题?请注意,我的应用程序是多线程并在多核系统上运行。

    3热度

    3回答

    为什么sem_wait不能用于信号处理程序(特别是每个线程的SIGSEGV信号)?有人能给我一个例子,它会使应用程序崩溃吗?我猜sem_wait是折返和线程安全,所以这里有什么问题?为什么不是异步安全?

    1热度

    1回答

    有人能告诉我什么可能是来自Signal Handler的调用系统调用(SYS_gettid)的不利影响? 我知道它不在安全函数列表中被从信号处理程序调用,但我想知道它背后的原因?

    4热度

    3回答

    我正在构建一个Django应用程序,它依赖于已经实现了SIGINT信号处理程序的python模块。 假设我不能改变我所依赖的模块,我该如何解决“信号只在主线程中工作”的错误我把它集成在Django中? 我可以在Django主线程上运行它吗? 有没有办法阻止处理程序允许模块在非主线程上运行? 谢谢!

    1热度

    1回答

    我在Windows服务器(批处理文件,java,perl,csharp脚本/应用程序的混合)上运行各种进程。这些过程使用Autosys启动。在Windows上autosys剂总是前缀我在“CMD/C”作业定义为命令(见下例) C:\Windows\system32\cmd.exe /C foobar.exe 这本身是没有问题的,但是当我尝试通过发送杀工作一个autosys KILLJOB事件(

    2热度

    2回答

    如果我发送多个后续Hangup信号,下面的程序,只有他们两个人会被处理,其余的将被忽略: #include <stdio.h> #include <unistd.h> #include <signal.h> int id; void handler(int s) { id++; int i; for(i=0; i<3; i++) {

    0热度

    2回答

    我在为函数pkg_getclient()写一个测试单元。 它基本上是一个为客户端不定时监听的函数。 这里是实现:http://slexy.org/view/s21RBuOUOu(贴有保留的问题文本大小合理) 这里是一个客户端的一个例子 - 服务器测试:http://slexy.org/view/s2fS5hBkgI 这是我的单元测试的当前状态: int test_pkg_getclient (ch

    13热度

    2回答

    我正在编写一个必须处理信号的shell程序。我的相关信号处理相关的代码如下: #include <signal.h> ... #include <sys/types.h> ... void installSigactions(int, struct sigaction*); void handler_function(int signal_id); ... /*define sig