debug.h: Avoid printing pthread_t type

Using %lu for pthread_t was wrong on armv7l arch. Even worse, according
to pthread_self() man page, pthread_t cannot be assumed to be of a simple
type and hence printable:
"""
POSIX.1 allows an implementation wide freedom in choosing the type used
to represent a thread ID; for example, representation using either an
arithmetic  type  or a structure is permitted.
"""

Let's use gettid() instead. According to glibc documentation:
"""
The pid_t data type is a signed integer type which is capable of
representing a process ID. In the GNU C Library, this is an int.
"""
It may not be the same on other libc's though, so let's better cast to a
long int just in case.

Accordign to gettid() man, the libc function was only added recently
during glibc 2.30, however the system call has been around for quite
some time (linux 2.4.11). Let's accomodate use udner non-glibc or older
versions of it by having a direct syscall fallback.

Change-Id: I40265fd4c62e550014ba3ff3335ca053c5bc01f2
3 files changed
tree: b18342affc780b9385cb8a9ef2f1e008c832241c
  1. CommonLibs/
  2. config/
  3. contrib/
  4. debian/
  5. doc/
  6. GSM/
  7. tests/
  8. Transceiver52M/
  9. utils/
  10. .gitignore
  11. .gitreview
  12. configure.ac
  13. COPYING
  14. git-version-gen
  15. LEGAL
  16. Makefile.am
  17. Makefile.common
  18. README.md
README.md

About OsmTRX

OsmoTRX is a software-defined radio transceiver that implements the Layer 1 physical layer of a BTS comprising the following 3GPP specifications:

  • TS 05.01 "Physical layer on the radio path"
  • TS 05.02 "Multiplexing and Multiple Access on the Radio Path"
  • TS 05.04 "Modulation"
  • TS 05.10 "Radio subsystem synchronization"

OsmoTRX is based on the transceiver code from the OpenBTS project, but setup to operate independently with the purpose of using with non-OpenBTS software and projects, while still maintaining backwards compatibility with OpenBTS when possible. Currently there are numerous features contained in OsmoTRX that extend the functionality of the OpenBTS transceiver. These features include enhanced support for various embedded platforms - notably ARM - and dual channel diversity support for the Fairwaves umtrx.

Homepage

The official homepage of the project is https://osmocom.org/projects/osmotrx/wiki/OsmoTRX

GIT Repository

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

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

There is a cgit interface at http://git.osmocom.org/osmo-trx/

Documentation

Doxygen-generated API documentation is generated during the build process, but also available online for each of the sub-libraries at User Manual for OsmoTRX can be generated during the build process, and is also available online at http://ftp.osmocom.org/docs/latest/osmotrx-usermanual.pdf.

Mailing List

Discussions related to OsmoTRX are happening on the openbsc@lists.osmocom.org mailing list, please see https://lists.osmocom.org/mailman/listinfo/openbsc 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 OsmoTRX can be seen at https://gerrit.osmocom.org/q/project:osmo-trx+status:open