diff options
| author | 郑超 <[email protected]> | 2018-12-09 14:26:32 +0800 |
|---|---|---|
| committer | 郑超 <[email protected]> | 2018-12-09 14:26:32 +0800 |
| commit | 6d59d35fa1d2494751d6778930baef2c83251270 (patch) | |
| tree | 7d4d914fc9bc54c7735d04d6f3245b153216b594 | |
| parent | 1665395160274983bc16d7abaa23ea4a48fc4624 (diff) | |
| parent | 74b1f6d63698f8325c04ea91d840cf25303c7b3a (diff) | |
Merge branch 'bugfix-socket-and-file-descriptor-not-proper-initialized' into 'master'
修复 #4 ,将sd和fd初始化为-1,并在select前判断。
See merge request AV/frag_rssb!2
| -rw-r--r-- | src/main.c | 4 | ||||
| -rw-r--r-- | src/message.c | 10 |
2 files changed, 11 insertions, 3 deletions
@@ -1079,7 +1079,9 @@ int main(int argc, char **argv) uint32_t i=0; void *main_conf_handle=NULL, *rssb_conf_handle=NULL; - memset(&g_frag_run, 0, sizeof(frag_rssb_parameter_t)); + memset(&g_frag_run, 0, sizeof(frag_rssb_parameter_t)); + g_frag_run.recv_msg_fd=-1; + g_frag_run.recv_msg_sd=-1; memset(&g_frag_cfg, 0, sizeof(frag_rssb_configure_t)); memset(&g_frag_stat, 0, sizeof(frag_rssb_status_t)); diff --git a/src/message.c b/src/message.c index f3a1a07..a12759a 100644 --- a/src/message.c +++ b/src/message.c @@ -1081,8 +1081,14 @@ void* recv_response_msg(void *param) {
/*recv msg*/
FD_ZERO(&rset);
- FD_SET(g_frag_run.recv_msg_fd,&rset);
- FD_SET(g_frag_run.recv_msg_sd,&rset);
+ if(g_frag_run.recv_msg_fd>=0)
+ {
+ FD_SET(g_frag_run.recv_msg_fd,&rset);
+ }
+ if(g_frag_run.recv_msg_sd>=0)
+ {
+ FD_SET(g_frag_run.recv_msg_sd,&rset);
+ }
if(-1==select(maxfdpl,&rset,NULL,NULL,NULL))
{
MESA_handle_runtime_log(g_frag_run.logger, RLOG_LV_FATAL, FRAG_REASSEMBLY_MODULE_NAME,
|
