串口软中断SIGIO信号
LINUX下串口问题大家讨论下,急
我现在采用两个串口来分别接收和发送,采用信号SIGIO中断方式调用,我需要要同一时间里,两个中断都能响应,但是我现在的程序只能响应一个中断,先开接收线程OK,然后再打开发送线程,接收线程的串口信号SIGIO中断就进不来了,向大家请教下,因为是两个串口,一个收一个发,应该是不相关的,
int m_recvfd = open("dev/ttyS0");
int m_sendfd = open("dev/ttys1");
struct sigaction m_recvIO
m_recvIO.sa_handle = recvcallbackfunction;
我的串口用了
fcntl( m_fd, F_SETFL, O_ASYNC );
fcntl( m_fd, F_SETOWN, getpid());
是不是这里把信号给了整个进程,而不是每个线程,才导致两个线程不能同时响应
struct sigaction m_sendIO
m_sendIO.sa_handle = sendcallbackfunction;