Commit Graph

357 Commits

Author SHA1 Message Date
Bartosz Taudul
a7e615d42e Cosmetics. 2018-12-17 15:09:10 +01:00
Bartosz Taudul
0b816ce0b7 Add lock termination event. 2018-12-16 20:46:33 +01:00
Bartosz Taudul
61ac0b8afc Send lock creation time. 2018-12-16 20:33:18 +01:00
Bartosz Taudul
f19b559f6e InitOnceExecuteOnce requires targeting Windows Vista.
Cygwin fix.
2018-11-25 19:03:17 +01:00
Sherief Farouk
591f04ad0f Renamed preprocessor #define for consistency. 2018-10-28 22:41:08 -07:00
Sherief Farouk
5110d55f17 Fix for using Tracy with multithreaded NT loader in Windows 10 RS5 (Issue #26) [Take 2]. 2018-10-28 18:55:55 -07:00
Sherief Farouk
27447902ef Fix for using Tracy with multithreaded NT loader in Windows 10 RS5 (Issue #26). 2018-10-27 18:13:59 -07:00
Bartosz Taudul
6be66d7a3c Fix on-demand mode. 2018-09-09 19:44:41 +02:00
Bartosz Taudul
9211ce42da Non-on-demand client is only able to handle one connection. 2018-09-09 19:42:06 +02:00
Bartosz Taudul
984a711666 Send protocol version to verify handshake. 2018-09-09 19:28:53 +02:00
Bartosz Taudul
db1d7d2c92 Free socket after disconnection. 2018-09-09 18:31:06 +02:00
Bartosz Taudul
270072b09e Require shibboleth match at start of connection. 2018-09-09 18:26:53 +02:00
Bartosz Taudul
00da3ba6eb SEGV_{BND,PKU}ERR might not be defined. 2018-08-27 14:45:07 +02:00
Bartosz Taudul
2ebe9b72d1 There's no getlogin_t() on android. 2018-08-27 13:59:19 +02:00
Bartosz Taudul
a1a9f6d610 Fix printf types. 2018-08-22 16:31:09 +02:00
Bartosz Taudul
8a78fcd2f9 Cut off Linux stack trace at sigreturn. 2018-08-21 01:53:00 +02:00
Bartosz Taudul
22346feea3 Fun fact: two threads can crash at the same time. 2018-08-21 01:45:33 +02:00
Bartosz Taudul
47943d6a86 Use proper type. 2018-08-21 01:24:00 +02:00
Bartosz Taudul
facb05f8cb Don't mark FastVector element as used until it's ready.
This should prevent a race condition that would result in invalid last
element of the queue, in case a freezed thread already got the queue
item, but didn't wrote to it (or didn't wrote fully).
2018-08-20 22:35:50 +02:00
Bartosz Taudul
8c0ff67796 Cut windows crash call stack at the exception dispatcher. 2018-08-20 22:21:35 +02:00
Bartosz Taudul
d1adf9e8d6 Allow skipping functions on top of call stack.
Note that this is on-client performance intensive and shouldn't be used,
except in special situations, like processing crashes.
2018-08-20 22:20:44 +02:00
Bartosz Taudul
b371003336 In case of manual shutdown, don't wait for lock.
All threads are freezed at this point, nothing will release it.
2018-08-20 21:49:23 +02:00
Bartosz Taudul
401ebd6f3d Use spin-lock in DequeueSerial.
A thread freezed during crash processing may hold the lock and never
release it. The old behavior would cause deadlock in such situation. The
new one can be modified to work. Also, we don't want to use timed mutex.
2018-08-20 21:40:13 +02:00
Bartosz Taudul
6d45434cb5 Implement crash handler on Linux. 2018-08-20 14:30:56 +02:00
Bartosz Taudul
53aee0e03d Fix warning. 2018-08-20 12:53:14 +02:00
Bartosz Taudul
3b526b074e Send crash report. 2018-08-20 02:23:55 +02:00
Bartosz Taudul
49e36c013f Only handle selected subset of exceptions. 2018-08-20 02:06:59 +02:00
Bartosz Taudul
0258f4a7b4 Handle crashes on windows.
When a crash happens, put all threads (bar the profiler and crash
handling ones) into the freezer, send crash notification message,
request profiler shutdown and when it does, terminate process.

The list of ignored exceptions is sorta-kinda random at the moment and
may need further expansion.
2018-08-20 01:07:33 +02:00
Bartosz Taudul
ca939ccd19 Allow external profiler shutdown requests. 2018-08-20 01:02:27 +02:00
Bartosz Taudul
d63b5431bf Discover linux kernel version. 2018-08-19 19:00:01 +02:00
Bartosz Taudul
f55b99ba7e Fix signed/unsigned. 2018-08-19 18:53:32 +02:00
Bartosz Taudul
e9170c862e System RAM discovery on Linux. 2018-08-19 18:52:04 +02:00
Bartosz Taudul
790a3ae26f Perform windows version discovery. 2018-08-19 18:43:26 +02:00
Bartosz Taudul
bd76f4cd10 Send host info in welcome message. 2018-08-19 18:19:12 +02:00
Bartosz Taudul
9c0e6620b3 Host info discovery. 2018-08-19 18:15:46 +02:00
Arvid Gerstmann
076e83635b Add possibility to explicitly avoid logging 2018-08-13 14:47:52 +02:00
Bartosz Taudul
9d051cf5ee Add support for discontinuous frames. 2018-08-05 02:15:54 +02:00
Bartosz Taudul
9b4348b497 Handle frame name queries. 2018-08-04 21:10:45 +02:00
Bartosz Taudul
adde6cf4fd Allow sending named frames. 2018-08-04 15:04:18 +02:00
Bartosz Taudul
922882d3b0 Add name field to frame mark message. 2018-08-04 15:03:47 +02:00
Till Rathmann
c71d99c134 Minor change: adapted the spaces to tabs at the just inserted line as in tracy_rpmalloc.cpp tabs are used as indentation. 2018-08-02 11:53:04 +02:00
Till Rathmann
4968717313 Fixed compiler warning about unused variable in release builds. 2018-08-02 11:45:15 +02:00
Till Rathmann
3b302315f9 Fixed __ANDROID_API__ < 21 build and FD_SET usage. 2018-08-01 19:18:40 +02:00
Till Rathmann
37d5736bf5 Fixed compiler warnings. 2018-08-01 14:07:30 +02:00
Till Rathmann
2dcfe5fce0 Made s_threadNameDataInstance and s_profilerInstance static. 2018-07-31 13:03:09 +02:00
Till Rathmann
dd042619e9 Support for multi-DLL projects. 2018-07-31 12:06:04 +02:00
Bartosz Taudul
31c2ddb8ac Rename client's SourceLocation to SourceLocationData. 2018-07-28 00:34:04 +02:00
Bartosz Taudul
3737e122cf Of course, this can't work without stupid fuckery. 2018-07-26 19:59:55 +02:00
Arvid Gerstmann
b8db9df949 Detect glibc explicitly 2018-07-14 13:23:00 +02:00
Arvid Gerstmann
ad48c32e1e Support for callstacks on Linux without glibc 2018-07-14 11:08:17 +02:00