📄 rtprecvthreadfcn.c
字号:
/*------------------------------------------------------------------------- * rtprecvthreadfcn.c - rtprecvthreadfcn *------------------------------------------------------------------------- */#include <rtp.h>#include <pthread.h>#include <signal.h>#include <sys/time.h>#include <util.h>/*------------------------------------------------------------------------ * rtprecvthreadfcn - loop to receive RTP packets. *------------------------------------------------------------------------ */voidrtprecvthreadfcn(struct session *psn){ /* * Initialize by setting signal handler, then signal condition to * indicate that initialization is complete. This code prevents * rtpctl from sending a SIGTERM *before* the handler is installed. */ pthread_mutex_lock(&psn->sn_rtpthrmutex); signal(SIGTERM, nullfcn); psn->sn_rtpthrstat = THR_RUNNING; pthread_cond_signal(&psn->sn_cond); pthread_mutex_unlock(&psn->sn_rtpthrmutex); while(TRUE) { rtprecv(psn); /* * Check if a SIGTERM has been received. * If so, return. */ pthread_mutex_lock(&psn->sn_rtpthrmutex); if (psn->sn_rtpthrstat == THR_TERMINATE) { psn->sn_rtpthrstat = THR_NOTRUNNING; pthread_cond_signal(&psn->sn_cond); pthread_mutex_unlock(&psn->sn_rtpthrmutex); return; } pthread_mutex_unlock(&psn->sn_rtpthrmutex); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -