栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

信号机制实现

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

信号机制实现


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);
	}

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/649405.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号