信号机制实现

信号机制实现,第1张

信号机制实现


error C2664: “signal”: 不能将参数 2 从“void (__cdecl *)(void)”转换为“void (__cdecl *)(int)”
1> 在匹配目标类型的范围内没有具有该名称的函数

出现这种错误如何解决

#include
#include
#include

void waiting(),stop();
int wait_mark;
int (*signal)(int,int);
int fork();
int pid,sig;
int kill(int pid,int sig);
int wait(int status);
int *status;
void exit(int status);
int lockf(int files,int function,int size);
long size;

void waiting()
{
while(wait_mark!=0);
}
void stop()
{
while(wait_mark!=0);
}

void main()
{
int p1,p2;
if(p1=fork()) /创建子进程p1/
{
if(p2=fork()) /创建子进程p2/
{
wait_mark=0;
signal(SIGINT,stop); /接收到^c信号,转stop/
waiting();
kill(p1,02); /向进程p1发送软中断信号02/
kill(p2,02); /向进程p2发送软中断信号02/
wait(0); /等待子进程1结束的信号/
wait(0); /等待子进程2结束的信号/
printf(“Parent process is killed!n”);
exit(0); /父进程结束/
}
else
{
wait_mark=0;
signal(SIGINT,stop); /等待进程2被杀死的中断号02/
waiting();
lockf(1,0,0);
printf(“Child process2 is killed by parent!n”);
lockf(1,0,0);
exit(0);
}

}
else
	{
		wait_mark=0;
		signal(SIGINT,stop);	 
		waiting();
		lockf(1,0,0);
		printf("Child process1 is killed by parent!n"); 
		lockf(1,0,0);
		exit(0);
	}

}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5651597.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存