Change in osmo-trx[master]: osmo-trx: Avoid handling signals after shutdown triggered

Pau Espin Pedrol gerrit-no-reply at
Sun Mar 31 22:07:33 UTC 2019

Pau Espin Pedrol has submitted this change and it was merged. ( )

Change subject: osmo-trx: Avoid handling signals after shutdown triggered

osmo-trx: Avoid handling signals after shutdown triggered

Recently a blocked osmo-trx process was found after ending SIGTERM to
Apparently one thread was handling SIGTERM and calling fprintf()
(grabbing libc lock) while another thread was handling another signal
and also grabbing similar lock. Both thread looked deadlocked there.
Probably this change doesn't fix the block on its own, but at least
simplifies scenarios inside signal ctx which can go wrong.

Change-Id: If91621913b8b03d8a0f4c863be0b0d479f97e8a1
M Transceiver52M/osmo-trx.cpp
1 file changed, 6 insertions(+), 0 deletions(-)

  Jenkins Builder: Verified
  Harald Welte: Looks good to me, approved

diff --git a/Transceiver52M/osmo-trx.cpp b/Transceiver52M/osmo-trx.cpp
index 1f35cd8..0141810 100644
--- a/Transceiver52M/osmo-trx.cpp
+++ b/Transceiver52M/osmo-trx.cpp
@@ -164,6 +164,12 @@
 static void sig_handler(int signo)
+	if (gshutdown)
+		/* We are in the middle of shutdown process, avoid any kind of extra
+		   action like printing */
+		return;
 	fprintf(stdout, "signal %d received\n", signo);
 	switch (signo) {
 	case SIGINT:

To view, visit
To unsubscribe, or for help writing mail filters, visit

Gerrit-Project: osmo-trx
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: If91621913b8b03d8a0f4c863be0b0d479f97e8a1
Gerrit-Change-Number: 13467
Gerrit-PatchSet: 2
Gerrit-Owner: Pau Espin Pedrol <pespin at>
Gerrit-Reviewer: Harald Welte <laforge at>
Gerrit-Reviewer: Jenkins Builder (1000002)
Gerrit-Reviewer: Pau Espin Pedrol <pespin at>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the gerrit-log mailing list