exec.c

来自「ADS环境下」· C语言 代码 · 共 76 行

C
76
字号
#include "iofn.h"
#include "fork.h"
#include "sched.h"
#include "msg.h"

static char outbuf[128];

struct message msg;

void test_send_msg()
{
	char *p = 0;
	int ret;

	while(1){	
		p = (char*)mslinux_get_pool(10);

		p[0] = 'm';
		p[1] = 's';
		p[2] = 'g';
		p[3] = 't';
		p[4] = 'e';
		p[5] = 's';
		p[6] = 't';
		p[7] = '\0';
		
		msg.msg_sender = sys_getpid();
		msg.msg_receiver = 2;
		msg.msg_length = 10;
		msg.msg_pointer = (long)p;
		
		ret = message_send(&msg);
		if(ret<0)
			printk("message_send error = %d\r\n",ret);

		ret = semaphore_take(2);
		if(ret<0)
			printk("semaphone take error = %d\r\n",ret);
		
	}
}

void test_timer()
{
	printk("test timer 10ms\r\n");
	add_timer(10,test_timer);
}


void run_fuc(int argc,char *argv[]) 
{
	int pid = 0,i;
	
	if(!argc){
		printk("no task to run!!\r\n");
		return;
	}
	if((pid = _sys_fork()) == 0){
		//test_send_msg();
		add_timer(10,test_timer);
		sys_exit(0);
	}

	wait(&i);
	
}

void write_fuc(int argc,char *argv[]) 
{
}


void read_fuc(int argc,char *argv[])
{
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?