ridiculousfish 98b0ef532f io_buffer_t to store a promise, not a future, to satisfy TSan
io_buffer_t is a buffer that fills itself by reading from a file
descriptor (typically a pipe). When the file descriptor is widowed, the
operation completes, and it reports completion by marking a
`std::promise<void>`. The "main thread" waits for this by waiting on the
promise's future. However TSan was reporting that the future's destructor
races with its promise's wait method. It's not obvious if this is valid,
but we can fix it by keeping the promise alive until the io_buffer_t is
deallocated.

This fixes the TSan issues reported under
`complete_background_fillthread_and_take_buffer` for #7681 (but there
are other unresolved issues).
2021-02-06 13:28:01 -08:00
..
2020-07-04 14:58:02 -07:00
2020-11-15 11:19:23 +01:00
2020-11-22 14:39:48 +01:00
2020-11-22 14:39:48 +01:00
2021-02-05 18:14:50 -08:00
2020-08-15 16:06:54 -07:00
2020-11-22 14:39:48 +01:00
2020-11-22 14:39:48 +01:00
2020-11-22 14:39:48 +01:00
2020-11-22 14:39:48 +01:00
2020-11-22 14:39:48 +01:00
2020-09-21 20:58:34 +02:00
2020-11-22 14:39:48 +01:00
2020-06-24 20:43:56 +02:00
2021-01-09 17:02:11 -08:00
2020-03-14 15:07:54 -07:00
2020-12-11 18:43:04 +01:00
2021-01-17 23:08:04 +01:00
2020-06-25 00:56:49 -05:00
2020-10-06 17:25:45 +02:00
2020-03-14 15:07:54 -07:00
2021-02-05 18:14:50 -08:00
2020-07-08 11:00:12 -07:00
2021-02-06 19:59:53 +01:00
2020-12-06 15:39:54 +01:00
2021-02-05 18:14:50 -08:00
2020-11-22 14:39:48 +01:00
2020-09-21 17:44:58 +02:00
2020-11-22 14:39:48 +01:00
2021-01-09 17:02:11 -08:00
2021-01-09 17:02:11 -08:00
2021-01-05 15:43:34 -06:00
2021-01-05 15:43:34 -06:00
2020-09-03 11:01:27 -07:00
2020-09-03 11:01:27 -07:00
2020-08-08 15:32:06 -07:00
2021-01-11 20:56:15 +01:00
2021-01-11 20:53:11 +01:00
2020-12-05 13:19:07 -08:00
2020-12-22 12:38:51 -08:00
2020-12-15 18:15:59 +01:00
2020-01-15 13:16:43 -08:00
2020-11-22 14:39:48 +01:00
2020-12-13 17:30:26 -08:00
2020-12-13 17:30:26 -08:00
2021-01-09 17:02:11 -08:00
2020-05-01 13:30:56 -07:00
2019-11-25 13:07:15 +01:00
2020-11-15 15:20:55 +01:00
2020-01-03 01:07:49 -06:00
2020-12-14 23:23:00 +01:00
2020-12-14 22:54:53 +01:00
2020-08-24 12:12:10 -07:00
2020-05-01 13:30:56 -07:00
2020-02-14 19:06:19 +01:00