diff options
-rw-r--r-- | src/vnet/session/session_api.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/vnet/session/session_api.c b/src/vnet/session/session_api.c index 7e7cffbbdd4..00e67dcd2d0 100644 --- a/src/vnet/session/session_api.c +++ b/src/vnet/session/session_api.c @@ -93,6 +93,12 @@ mq_try_lock_and_alloc_msg (svm_msg_q_t * app_mq, svm_msg_q_msg_t * msg) SVM_Q_NOWAIT, msg); if (!rv) return 0; + /* + * Break the loop if mq is full, usually this is because the + * app has crashed or is hanging on somewhere. + */ + if (rv != -1) + break; try++; usleep (1); } |