1
0
mirror of https://github.com/wolfpld/tracy.git synced 2025-03-20 07:40:02 +08:00
Commit Graph

231 Commits

Author SHA1 Message Date
Rokas Kupstys 8157e3a0b3 Fix builds with MingW. 2019-01-19 13:53:10 +02:00
Bartosz Taudul 92f3a4bba0 Add ZoneText and ZoneName to the C API. 2019-01-16 02:10:21 +01:00
Bartosz Taudul b72d30af80 Allow disabling zone verification. 2019-01-15 18:59:05 +01:00
Bartosz Taudul 8e52ab318b Send zone validation messages.
This is only performed for C API, as C++ scoped zones are always
properly ordered, due to RAII. With manual submission of zone begin and
end events there's no such guarantee.
2019-01-14 22:36:54 +01:00
Bartosz Taudul 970108fbbf Track zone id for verification purposes. 2019-01-14 22:36:54 +01:00
Bartosz Taudul 1a8518dcc2 Allow filtering zones in on-demand mode. 2019-01-14 22:36:54 +01:00
Bartosz Taudul 1f0d1fdfdc C API prototype. 2019-01-14 21:07:29 +01:00
Bartosz Taudul 070888f80d Make it possible to have multiple vulkan contexts.
API change!
2019-01-10 17:11:17 +01:00
Bartosz Taudul 1733961885 Proper printf type for DWORDLONG on cygwin. 2018-12-29 01:00:14 +01:00
Miguel Fernandez baa870fa8c Moved NoMinMax before windows.h 2018-12-24 18:50:52 +00:00
Miguel Fernandez 7c164375a4 Moved NoMinMax inside _MSC_VER 2018-12-24 18:49:53 +00:00
Miguel Fernandez 51bdb004f9 Avoid conflicts with min/max macros 2018-12-24 15:26:50 +00:00
Bartosz Taudul e9ce8fdfda Flush queues when opening listen socket fails. 2018-12-21 18:14:30 +01:00
Bartosz Taudul a4be9b51b0 Use common queue clearing function. 2018-12-21 18:12:26 +01:00
Bartosz Taudul 331693d7f1 Use proper pattern for acquiring serial lock.
This fixes a potential hang during crash handling. Also, lock duration
is reduced.
2018-12-21 18:11:09 +01:00
Rokas Kupstys a931b9eaf1 HOST_NAME_MAX and LOGIN_NAME_MAX availability is not consistent across linux/android/macos platforms. However all of them do have versions of these macros with _POSIX_ prefix.
In addition to that hostname and user variables may be uninitialized in some configurations, however they are always used. Initializing these arrays fixes conditional depending on uninitialized memory warning uncovered by valgrind.
2018-12-18 17:19:03 +02:00
Bartosz Taudul 083320820f OSX doesn't define HOST_NAME_MAX and LOGIN_NAME_MAX.
Fix based on patch from Jack Skalski.
2018-12-17 15:11:59 +01:00
Bartosz Taudul a7e615d42e Cosmetics. 2018-12-17 15:09:10 +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 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
Bartosz Taudul 9b4348b497 Handle frame name queries. 2018-08-04 21:10:45 +02:00