Commit Graph

239 Commits

Author SHA1 Message Date
Martin Ridgers
bcda0febbe Cancel the timeout tick when accepting a connection to read trace data from a relay. Otherwise the timeout fires causing an extra read, the loss of a page of trace data, and eventually a segfault or assert.
#rb jb
#rnx
#jira ue-88376
#ushell-cherrypick of 11302806 by Martin.Ridgers

[CL 11303311 by Martin Ridgers in Main branch]
2020-02-10 08:55:35 -05:00
Martin Ridgers
cfd65a404f Always attempt to cancel a timer regardless of the owning FAsioTickable's state. Without this it isn't possible to cancel one-shot ticks.
#rb jb
#rnx
#jira ue-88376

#ushell-cherrypick of 11302796 by Martin.Ridgers

[CL 11303303 by Martin Ridgers in Main branch]
2020-02-10 08:53:23 -05:00
Martin Ridgers
034e882cad Moved ASIO defines to the correct .Build.cs script.
#jira ue-88191
#rb trivial
#rnx


#ushell-cherrypick of 11290354 by Martin.Ridgers

[CL 11290836 by Martin Ridgers in Main branch]
2020-02-07 08:41:38 -05:00
Stefan Boberg
55a8b15f1f Copying //UE4/Dev-Core to Main (//UE4/Main)
#rb none

[CL 11258477 by Stefan Boberg in Main branch]
2020-02-05 14:26:36 -05:00
Martin Ridgers
f82864c80a Explicitly end analysis on exit from the inner loop. Doing it implicitly in the destructor opens up the analysis framework for order of destruction problems.
#rb trivial
#rnx

[CL 11154133 by Martin Ridgers in Dev-Core branch]
2020-01-29 08:18:18 -05:00
Martin Ridgers
0c0596093d Allow TraceAnalysis' Processor objects to be move-assigned as well as move-contructed.
#rb trivial
#rnx

[CL 11154045 by Martin Ridgers in Dev-Core branch]
2020-01-29 08:16:27 -05:00
Martin Ridgers
09038e6c3b Removed hack to make live tracing update correctly. No longer relevant as we are using a different store-recorder backend.
#rb trivial
#rnx

[CL 11153442 by Martin Ridgers in Dev-Core branch]
2020-01-29 07:14:09 -05:00
Martin Ridgers
75ebb9e56a Prevent listening sockets from being inherited by child processes. See 11152126 for details.
#rb none
#rnx

[CL 11153119 by Martin Ridgers in Dev-Core branch]
2020-01-29 04:13:59 -05:00
Martin Ridgers
d5184a8ac4 Did pass over socket closing.
#rb trivial
#rnx

[CL 11152757 by Martin Ridgers in Dev-Core branch]
2020-01-29 03:46:28 -05:00
Martin Ridgers
e0d3dcdbd2 Set linger to 0 for all store service module's listening and accepted sockets so Close() sends a RST instead of a FIN/ACK. This will prevent a flood of TIME_WAIT sockets that correctly following the passive/active close handshake.
#rb none
#rnx

[CL 11128700 by Martin Ridgers in Dev-Core branch]
2020-01-28 09:15:36 -05:00
Martin Ridgers
a9ffaf63c3 Close the numerous store service modules on the correct thread.
#rb trivial
#rnx

[CL 11128319 by Martin Ridgers in Dev-Core branch]
2020-01-28 07:41:32 -05:00
Martin Ridgers
29c4f53269 Cleaner store service shutdown which closes everything and waits for the async IO loops to drain.
#rb none
#rnx

[CL 11126050 by Martin Ridgers in Dev-Core branch]
2020-01-28 04:11:19 -05:00
Martin Ridgers
7520f4654b Fixed double delete segfaults
#rb cm
#none

[CL 11125939 by Martin Ridgers in Dev-Core branch]
2020-01-28 02:14:52 -05:00
Martin Ridgers
c44c673134 Brought back directory watching so users can add .utrace folders to the appropriate directory and Insights will update accordingly.
#rb none
#rnx

[CL 11113587 by Martin Ridgers in Dev-Core branch]
2020-01-26 10:42:59 -05:00
Martin Ridgers
74220ca229 Reuse traces when adding duplicates
#rb none
#rnx

[CL 11113585 by Martin Ridgers in Dev-Core branch]
2020-01-26 10:38:27 -05:00
Martin Ridgers
498e55c81f Added a method to refresh a store's list of traces
#rb none
#rnx

[CL 11113582 by Martin Ridgers in Dev-Core branch]
2020-01-26 10:36:12 -05:00
Martin Ridgers
6e00906e81 Added a method to clear a store's traces
#rb none
#rnx

[CL 11113581 by Martin Ridgers in Dev-Core branch]
2020-01-26 10:33:10 -05:00
Martin Ridgers
c5a3caa136 Do not hold a file handle open for each trace as it is rarely required.
#rb none
#rnx

[CL 11113578 by Martin Ridgers in Dev-Core branch]
2020-01-26 10:27:31 -05:00
Martin Ridgers
c962a850d9 Build a valid FTrace in its contructor instead of AddTrace().
#rb none
#rnx

[CL 11113577 by Martin Ridgers in Dev-Core branch]
2020-01-26 10:23:48 -05:00
Martin Ridgers
febd8d6bcb Store the full path to a trace in FAsioStore::FTrace
#rb none
#rnx

[CL 11113574 by Martin Ridgers in Dev-Core branch]
2020-01-26 10:01:53 -05:00
Martin Ridgers
35e30450b7 Explicitly shutdown and close store clients' sockets on destruction.
#rb trivial
#rnx

[CL 11104264 by Martin Ridgers in Dev-Core branch]
2020-01-24 08:32:10 -05:00
Martin Ridgers
197ff65a3b DataStream derivers can implement a Close() method that can be used to terminate any consumers of the stream.
#rb none
#rnx

[CL 11104242 by Martin Ridgers in Dev-Core branch]
2020-01-24 08:28:19 -05:00
Martin Ridgers
e95ade82c1 Best practice is to call shutdown on a socket prior to closing it so the OS ensures all written data is sent.
#rb none
#rnx

[CL 11095745 by Martin Ridgers in Dev-Core branch]
2020-01-23 12:07:15 -05:00
Johan Berg
7fc9d81599 Expose recorder port in store.
#rb martin.ridgers

[CL 11091995 by Johan Berg in Dev-Core branch]
2020-01-23 08:53:24 -05:00
Martin Ridgers
b14446faa3 Use ASIO to wait when relaying a trace rather than blocking a ASIO worker thread in a Sleep().
#rb none
#rnx

[CL 11091912 by Martin Ridgers in Dev-Core branch]
2020-01-23 08:24:53 -05:00