X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Frmr%2Fnng%2Fsrc%2Frmr_nng.c;h=77f539eddc9fb5493dc5cced87911396dd2dac93;hb=a7193022969bafe1ade8ee5032f1f41d79018404;hp=582cbb025a7f964c8785e8abb033c8b1e9cc7c31;hpb=85c5bf71db97dc7c4f15bd170b17c85e53ee0f24;p=ric-plt%2Flib%2Frmr.git diff --git a/src/rmr/nng/src/rmr_nng.c b/src/rmr/nng/src/rmr_nng.c index 582cbb0..77f539e 100644 --- a/src/rmr/nng/src/rmr_nng.c +++ b/src/rmr/nng/src/rmr_nng.c @@ -978,6 +978,14 @@ extern rmr_mbuf_t* rmr_mt_call( void* vctx, rmr_mbuf_t* mbuf, int call_id, int m if( state < 0 && errno == EINTR ) { // interrupted go back and wait; all other errors cause exit errno = 0; } + + if( chute->mbuf != NULL ) { // offload receiver thread and check xaction buffer here + if( memcmp( chute->expect, chute->mbuf->xaction, RMR_MAX_XID ) != 0 ) { + rmr_free_msg( chute->mbuf ); + chute->mbuf = NULL; + errno = 0; + } + } } if( state < 0 ) {