| @@ -32,8 +32,6 @@ | |||||
| jack_port_t *output_port1, *output_port2; | jack_port_t *output_port1, *output_port2; | ||||
| jack_client_t *client; | jack_client_t *client; | ||||
| pthread_t writerThread; | pthread_t writerThread; | ||||
| mqd_t tsq; | |||||
| char msg_send[Q_MSG_SIZE]; | |||||
| #ifndef M_PI | #ifndef M_PI | ||||
| #define M_PI (3.14159265) | #define M_PI (3.14159265) | ||||
| @@ -45,6 +43,7 @@ typedef struct | |||||
| float sine[TABLE_SIZE]; | float sine[TABLE_SIZE]; | ||||
| int left_phase; | int left_phase; | ||||
| int right_phase; | int right_phase; | ||||
| mqd_t tsq; | |||||
| } | } | ||||
| paTestData; | paTestData; | ||||
| @@ -133,10 +132,11 @@ process (jack_nframes_t nframes, void *arg) | |||||
| } | } | ||||
| char msg_send[Q_MSG_SIZE]; | |||||
| memset(msg_send, 0, Q_MSG_SIZE); | memset(msg_send, 0, Q_MSG_SIZE); | ||||
| sprintf (msg_send, "%llx", (sys_time.tv_sec*1000000000ULL + sys_time.tv_nsec)); | sprintf (msg_send, "%llx", (sys_time.tv_sec*1000000000ULL + sys_time.tv_nsec)); | ||||
| if (mq_send(tsq, msg_send, Q_MSG_SIZE, 0) < 0) { | |||||
| if (mq_send(data.tsq, msg_send, Q_MSG_SIZE, 0) < 0) { | |||||
| // fprintf(filepointer, "send error %d %s %s\n", errno, strerror(errno), msg_send);fflush(filepointer); | // fprintf(filepointer, "send error %d %s %s\n", errno, strerror(errno), msg_send);fflush(filepointer); | ||||
| } | } | ||||
| @@ -180,6 +180,30 @@ main (int argc, char *argv[]) | |||||
| } | } | ||||
| } | } | ||||
| struct mq_attr attr; | |||||
| attr.mq_flags = 0; | |||||
| attr.mq_maxmsg = 1000; | |||||
| attr.mq_msgsize = Q_MSG_SIZE; | |||||
| attr.mq_curmsgs = 0; | |||||
| if( mq_unlink(Q_NAME) < 0) { | |||||
| printf("unlink %s error %d %s\n", Q_NAME, errno, strerror(errno));fflush(stdout); | |||||
| } else { | |||||
| printf("unlink %s success\n", Q_NAME );fflush(stdout); | |||||
| } | |||||
| if ((data.tsq = mq_open(Q_NAME, O_RDWR | O_CREAT | O_NONBLOCK | O_EXCL, 0666, &attr)) == -1) { | |||||
| printf("create error %s %d %s\n", Q_NAME, errno, strerror(errno));fflush(stdout); | |||||
| } else { | |||||
| printf("create success %s\n", Q_NAME);fflush(stdout); | |||||
| } | |||||
| if( pthread_create( &writerThread, NULL, (&worker_thread_listener_fileWriter), NULL) != 0 ) { | |||||
| printf("Error creating thread\n");fflush(stdout); | |||||
| } | |||||
| for( i=0; i<TABLE_SIZE; i++ ) | for( i=0; i<TABLE_SIZE; i++ ) | ||||
| { | { | ||||