jmp_buf jump_env;
-void segv_handler(int num,siginfo_t *si,void *x)
+void segv_handler(int num)
{
longjmp(jump_env,1);
}
struct sigaction act;
memset(&act,0,sizeof(act));
- act.sa_sigaction=&segv_handler;
- act.sa_flags = SA_SIGINFO;
+ act.sa_handler=&segv_handler;
sigaction(SIGSEGV,&act,NULL);
}
return 0;
}
- if(comedi_get_cmd_generic_timed(device,subdevice,&cmd)<0){
+ if(comedi_get_cmd_generic_timed(device,subdevice,&cmd,1)<0){
printf("E: comedi_get_cmd_generic_timed failed\n");
return 0;
}
}
}
+ if(realtime)cmd.flags |= TRIG_RT;
+
cmd.chanlist = chanlist;
cmd.scan_end_arg = 1;
cmd.stop_arg = N_SAMPLES;
}else{
total += ret;
b += ret;
- printf("read %d %d\n",ret,total);
+ if(verbose) printf("read %d %d\n",ret,total);
}
}
if(memcmp(buf,map,total)){