diff --git a/src/proto_uxst.c b/src/proto_uxst.c index 0edc2aff2..0eaea3c40 100644 --- a/src/proto_uxst.c +++ b/src/proto_uxst.c @@ -805,7 +805,7 @@ struct task *uxst_process_session(struct task *t) } s->req->flags &= BF_CLEAR_READ & BF_CLEAR_WRITE & BF_CLEAR_TIMEOUT; flags &= BF_CLEAR_READ & BF_CLEAR_WRITE & BF_CLEAR_TIMEOUT; - if (s->req->flags != flags) + if ((s->req->flags ^ flags) & BF_MASK_STATIC) resync = 1; } @@ -891,7 +891,7 @@ struct task *uxst_process_session(struct task *t) } s->rep->flags &= BF_CLEAR_READ & BF_CLEAR_WRITE & BF_CLEAR_TIMEOUT; flags &= BF_CLEAR_READ & BF_CLEAR_WRITE & BF_CLEAR_TIMEOUT; - if (s->rep->flags != flags) + if ((s->rep->flags ^ flags) & BF_MASK_STATIC) resync = 1; } else if ((s->rep->flags & BF_MASK_ANALYSER) || @@ -904,7 +904,7 @@ struct task *uxst_process_session(struct task *t) } s->rep->flags &= BF_CLEAR_READ & BF_CLEAR_WRITE & BF_CLEAR_TIMEOUT; flags &= BF_CLEAR_READ & BF_CLEAR_WRITE & BF_CLEAR_TIMEOUT; - if (s->rep->flags != flags) + if ((s->rep->flags ^ flags) & BF_MASK_STATIC) resync = 1; } diff --git a/src/session.c b/src/session.c index 6bb6a4537..9c06065f5 100644 --- a/src/session.c +++ b/src/session.c @@ -778,7 +778,7 @@ resync_stream_interface: s->req->flags &= BF_CLEAR_READ & BF_CLEAR_WRITE & BF_CLEAR_TIMEOUT; flags &= BF_CLEAR_READ & BF_CLEAR_WRITE & BF_CLEAR_TIMEOUT; - if (s->req->flags != flags) + if ((s->req->flags ^ flags) & BF_MASK_STATIC) resync = 1; } @@ -925,7 +925,7 @@ resync_stream_interface: } s->rep->flags &= BF_CLEAR_READ & BF_CLEAR_WRITE & BF_CLEAR_TIMEOUT; flags &= BF_CLEAR_READ & BF_CLEAR_WRITE & BF_CLEAR_TIMEOUT; - if (s->rep->flags != flags) + if ((s->rep->flags ^ flags) & BF_MASK_STATIC) resync = 1; } else if ((s->rep->flags & BF_MASK_ANALYSER) || @@ -956,7 +956,7 @@ resync_stream_interface: s->rep->flags &= BF_CLEAR_READ & BF_CLEAR_WRITE & BF_CLEAR_TIMEOUT; flags &= BF_CLEAR_READ & BF_CLEAR_WRITE & BF_CLEAR_TIMEOUT; - if (s->rep->flags != flags) + if ((s->rep->flags ^ flags) & BF_MASK_STATIC) resync = 1; }