Esempio n. 1
0
int main(){

	kn_thread_t t1 = kn_create_thread(THREAD_JOINABLE);
	kn_thread_t t2 = kn_create_thread(THREAD_JOINABLE);	
	kn_thread_start_wait(t1,routine11,NULL);
	kn_thread_start_wait(t2,routine22,NULL);		

	while(1){
		kn_sleepms(1000);		
	}	
	return 0;
}
Esempio n. 2
0
int main(){	
	kn_thread_t t1 = kn_create_thread(THREAD_JOINABLE);
	kn_thread_t t2 = kn_create_thread(THREAD_JOINABLE);
	//kn_thread_t t3 = kn_create_thread(THREAD_JOINABLE);
	channel1 = kn_new_channel(kn_thread_getid(t1));
	channel2 = kn_new_channel(kn_thread_getid(t2));
	kn_thread_start_run(t1,routine1,NULL);
	kn_thread_start_run(t2,routine2,NULL);
	//kn_thread_start_run(t3,routine2,NULL);
	while(1){
		kn_sleepms(100);
	}
	return 0;
}
Esempio n. 3
0
int main(){
	MYSQL *mysql = mysql_init(NULL);
	if (!mysql)  return 0;	
	if (!mysql_real_connect(mysql,ip,usrname,passwd,db,port,NULL,0)){
		int ret = mysql_errno(mysql); 
		printf("connect mysql error host: %s user %s passwd: %s ret: %d\n",ip,usrname,passwd,ret); 
		mysql_close(mysql);
		return 0;
	}	
	mysqlConn = calloc(1,sizeof(*mysqlConn));	
	mysqlConn->mysqlConn = mysql;
    	mysqlConn->engine = kn_new_engine();
    	mysqlConn->thd = kn_create_thread(THREAD_JOINABLE);
    	kn_thread_start_run(mysqlConn->thd,mysql_worker,(void*)mysqlConn);    
	engine_t engine = kn_new_engine();
	handle_t h = kn_new_chrdev(0);
	if(!h) return 0;
	kn_chrdev_associate(h,engine,chr_transfer_finish,NULL);
	st_io io;
	io.next.next = NULL;
	struct iovec wbuf[1];
	char   buf[4096];
	wbuf[0].iov_base = buf;
	wbuf[0].iov_len = 4096;	
	io.iovec_count = 1;
	io.iovec = wbuf;
	kn_chrdev_read(h,&io);
	kn_engine_run(engine);
	return 0;
}
Esempio n. 4
0
void  kn_thread_run(kn_thread_routine r,void *arg)
{
	struct kn_thread_arg *_thread_arg = malloc(sizeof(*_thread_arg));
	_thread_arg->custom_routine = r;
	_thread_arg->custom_arg = arg;
	_thread_arg->_thread = kn_create_thread(0);//not joinable
	kn_thread_start_run(_thread_arg->_thread,routine,_thread_arg);
}
Esempio n. 5
0
int main(void)
{
    pinMode(LEDPIN,OUTPUT);
    pinMode(LEDPIN2,OUTPUT);
    cli();
    timer1_init();
	serial_open(19200, SERIAL_8N1);
    init_yield_array();
    //int t1 = kn_create_thread(tempHumidity);
    int t2 = kn_create_thread(blink);
    int t3 = kn_create_thread(blink_faster);

    while(1)
    {
        //kn_run_thread(t1);
        kn_run_thread(t2);
        kn_run_thread(t3);
        //init_yield_array();
        // if (tot_overflow >= 10) {
        //     blink();
        //     tot_overflow = 0;
        // }
        // if (tot_overflow2 >= 15) {
        //     blink_faster();
        //     tot_overflow2 = 0;
        // }
        //kn_run_thread(t1);
        //kn_run_thread(t2);
        //kn_run_thread(t3);
        //prints(" $$$$$$$$ ");
        //_delay_ms(800);
        //getTempHumidity();
        //prints((uint8_t*)TOTAL_RAM_SIZE);        
        // char buffer[16];
        // sprintf(buffer,"%d",(int)TOTAL_RAM_SIZE);
        // prints(buffer);
        //kn_create_thread(THREAD1, &threadB, false, NULL);
        // get_temp();
        // _delay_ms(800);
    }
}
Esempio n. 6
0
int main(){

	msgque = kn_new_msgque(32);
	kn_thread_t t1 = kn_create_thread(THREAD_JOINABLE);
	kn_thread_t t2 = kn_create_thread(THREAD_JOINABLE);	
	kn_thread_start_run(t1,routine1,NULL);
	kn_thread_start_run(t2,routine2,NULL);		
 	uint64_t tick,now;
    tick = now = kn_systemms64();	
	while(1){
		kn_sleepms(100);
        now = kn_systemms64();
		if(now - tick > 1000)
		{
            uint32_t elapse = (uint32_t)(now-tick);
			printf("count:%d\n",count/elapse*1000);
			tick = now;
			count = 0;
		}		
	}	
	return 0;
}