Commit graph

19 commits

Author SHA1 Message Date
Arcady Goldmints-Orlov
4420f9b33b Remove OSDependent TLS functions
These are no longer used now that the PoolAllocator uses the standard
c++11 thread_local storage mechanism.
2023-07-26 18:11:41 -06:00
Johannes Kauffmann
a7603c132d Use nullptr where possible instead of NULL or 0 2022-11-30 09:33:28 -07:00
Pedro J. Estébanez
30d9aa5c54 Remove the unused OS_CleanupThreadData 2022-08-26 20:40:29 +02:00
Niklas Haas
3971424207 Initialize global mutex in a thread-safe manner
Currently, ShInitialize() and friends call glslang::InitGlobalLock()
which *overwrites* the global mutex. As such, even though it ostensibly
takes a mutex, this function is actually completely thread-unsafe.

Fix it by using pthread_once to ensure the mutex is only initialized
once, and then never again.
2021-11-08 14:47:32 +01:00
Michael Spang
d39c040df9 Port Unix/ossource.cpp to Fuchsia
Fuchsia has pthreads but doesn't have sys/resource.h and doesn't
implement pthread_cleanup_push().

ANGLE bug: 2475
2019-01-30 15:15:11 -05:00
LoopDawg
fc3e86472a Implement OS_DumpMemoryCounters for Linux 2017-11-13 22:22:42 -07:00
John Kessenich
74bde98778 Memory: Restore unused interfaces, in case other tools called them. 2017-11-13 22:19:21 -07:00
John Kessenich
cb42541e51 Memory: Remove the need for per-thread tear down.
Make key objects using the memory pool own their own pool and delete it,
such that there is not generic per-thread pool to manage.
2017-11-13 01:52:11 -07:00
Juan Lopez
a558b26537 This refactor the StandAlone and WorkList files in order to use more
C++11 features remove the dependencies from OS specific code. Changes:

- Making WorkList class to have its own mutex instead of the OS specific
global one. The new mutex is the one from std library. The OS specific
code is also removed.

- Using the C++11 std library to handle threads in StandAlone
application
and enabling concurrent processing on non-windows platforms.

- converting the global variable Worklist into local variable workList.
2017-04-04 22:29:59 +02:00
John Kessenich
927608b393 Non-functional: White space after "//", mostly for copyrights. 2017-01-06 12:34:14 -07:00
John Kessenich
ecba76fe73 Non-Functional: Whitespace, comments, replace accidentally deleted comment.
- fixed ParseHelper.cpp newlines (crlf -> lf)
- removed trailing white space in most source files
- fix some spelling issues
- extra blank lines
- tabs to spaces
- replace #include comment about no location
2017-01-06 11:24:14 -07:00
Josh Gargus
425af5f6b0 Use a recursive mutex. 2016-10-15 15:19:59 -07:00
Josh Gargus
87a83d6841 Use pthread_mutex for global lock on Linux. 2016-10-05 18:32:51 -07:00
LoopDawg
6d478956ac Add g++/clang warnings to match some enabled by /W4 in MSVC. 2016-07-21 09:59:18 -06:00
baldurk
f2d75f76e5 Use DetachThreadLinux wrapper on android
* Fixes a warning - static function being defined but not used.
* Just in case any more code is added to DetachThreadLinux, this will go
  through the same path on both platforms.
2016-05-14 14:57:41 +02:00
Eric Engestrom
6a6d6dda95 fix spelling mistakes 2016-04-03 01:17:13 +01:00
Mark Adams
18b637f9dc Fix warnings/errors for strict aliasing & function prototypes
This fixes various issues related to gcc's strict-aliasing warning
by using unions. It also handles various cases hit with
gcc's missing-declarations warning.
2016-02-23 12:17:11 -05:00
Pyry Haulos
5f6892e23c Use generic osinclude.h
Using platform-neutral osinclude.h makes it easier to substitute
implementation when necessary and eliminates some variability between
build configurations.
2015-12-01 13:01:34 -08:00
baldurk
876a0e392e Add an osinclude.h below each OS directory, redirects by platform macro
* Linux folder has been renamed to Unix, to match defines and so that it
  compiles on OS X.
* This removes the need for a per-platform include search path for the
  right OS folder
2015-11-16 18:05:18 +01:00
Renamed from glslang/OSDependent/Linux/ossource.cpp (Browse further)