document unblock-ack vs. signalling in gprs_ns_process_msg()

Since commit 797558ea17 we send the
NS_UNBLOCK_ACK message before dispatching the NS_UNBLOCK signal,
instead of afterwards.

Add comments which explain the intended order of events.

Suggested-by: Pau
Related: OS#2388

Change-Id: I4b93853c952a97302f8afc14f462f22c3e487564
This commit is contained in:
Stefan Sperling 2018-11-20 11:01:36 +01:00
parent 797558ea17
commit c6bfc63d10
1 changed files with 6 additions and 0 deletions

View File

@ -1413,9 +1413,15 @@ int gprs_ns_process_msg(struct gprs_ns_inst *nsi, struct msgb *msg,
/* Section 7.2: unblocking procedure */
LOGP(DNS, LOGL_INFO, "NSEI=%u Rx NS UNBLOCK\n", (*nsvc)->nsei);
ns_mark_unblocked(*nsvc);
/* This UNBLOCK_ACK message will cause our peer to move us into NS_UNBLOCKED state. */
rc = gprs_ns_tx_simple(*nsvc, NS_PDUT_UNBLOCK_ACK);
if (rc < 0)
break;
/*
* UNBLOCK_ACK has been transmitted.
* Signal handlers may send additional messages following UNBLOCK_ACK under
* the assumption that NS is now in UNBLOCKED state at our peer's end.
*/
ns_osmo_signal_dispatch(*nsvc, S_NS_UNBLOCK, 0);
break;
case NS_PDUT_UNBLOCK_ACK: