Attention is currently required from: neels.
4 comments:
Commit Message:
Patch Set #1, Line 14: synchronous
isn't release always async, because it involves messages to/from remote?
I'm precisely saying synchronous here to explain this happen in the the release code path freeing the struct, not whatever protocol transaction, hence no other unexpected code paths like select loop are possible with the conn or the hnb_context not referencing one another.
File src/osmo-hnbgw/hnbgw.c:
Patch Set #1, Line 304: return 0; /* hnb_context is being freed, nothing do be done */
(i thought now it is just hnb->hnb_registered == false?) […]
the hnb pointer being null means the hnb_context related to this conn is being freed (hnb_closed_cb is called as a result of osmo_stream_srv_destroy() being called by hnb_context_release()).
So "hnb_context is being freed" is totally accurate here, it will be freed right straigh away when returning from this callback.
Patch Set #1, Line 306: /* hnb: conn became broken, let's release the associated hnb.
maybe "conn closed on an active hnb_context" ... […]
hnb_registered=false is at the HNB layer through non having yet received an HNB-Register or after having received a HNB-De-Register message.
In here, the underlaying SCTP conn is being dropped, at which point we totally free the related hnb_context.
So there's basically no hnb_context without conn, or conn without hnb_context.
Patch Set #1, Line 374: to call
calling
Ack
To view, visit change 29336. To unsubscribe, or for help writing mail filters, visit settings.