tun_device: Avoid deadlocks logging while thread is cancelled

We cannot garantee that LOGP will not end up calling a syscall which can
be a cancellation point. Since the syscall will be probably called while
having the logging mutex locked, an eventuall cancellation of the thread
would leave the logging mutex locked forever, hence making all other
threads deadlock as soon as they try to write anything to the log.

Change-Id: I72a0b536c8f39857960f132a5b84cdf5b8519732
1 file changed
tree: 64bc13c82007370546a055933bbaf59ea4294a8c
  1. contrib/
  2. daemon/
  3. debian/
  4. doc/
  5. ttcn3/
  6. .gitignore
  7. configure.ac
  8. git-version-gen
  9. Makefile.am
  10. README.md
README.md

osmo-uecups - Osmocom UE simulation control/user plane separation

This repository contains a C-language implementation of a simulator for the SGW/MME/UE side of GTP-U. It is part of the Osmocom Open Source Mobile Communications project.

This code is primarily intended to be used in testing of 2G/3G/4G GGSN and P-GW.

Every GTP tunnel (corresponding to a PDP context or EPC bearer) is terminated in a local 'tun' device, which in turn is put into its own network namespace.

This means you can simulate any number of users / sessions / bearers on a single machine without any routing nightmare.

The code only implements the user plane (GTP1U), and not the control plane like GTP1C or GTP2C. osmo-uecups-daemon exposes a JSON-over-SCTP protocol calleD UECUPS, which allows any external control plane instance to add/remove tunnels in the daemon

Homepage

The official homepage of the project is https://osmocom.org/projects/osmo-ggsn/wiki/osmo-uecups

GIT Repository

You can clone from the official osmo-bts.git repository using

git clone git://git.osmocom.org/osmo-uecups.git

There is a cgit interface at httsp://git.osmocom.org/osmo-uecups/

Documentation

FIXME

Mailing List

Discussions related to this software are happening on the osmocom-net-gprs@lists.osmocom.org mailing list, please see https://lists.osmocom.org/mailman/listinfo/osmocom-net-gprs for subscription options and the list archive.

Please observe the Osmocom Mailing List Rules when posting.

Contributing

Our coding standards are described at https://osmocom.org/projects/cellular-infrastructure/wiki/Coding_standards

We us a gerrit based patch submission/review process for managing contributions. Please see https://osmocom.org/projects/cellular-infrastructure/wiki/Gerrit for more details

The current patch queue for osmo-bts can be seen at https://gerrit.osmocom.org/#/q/project:osmo-uecups+status:open