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-08-04 12:40:46 -07: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-08-08 15:30:04 -07:00
2021-01-01 11:37:25 +01:00
2020-08-05 12:23:49 -07:00
2020-08-05 12:23:49 -07:00
2020-08-05 12:23:49 -07:00
2020-09-08 22:44:03 +02:00
2020-08-05 12:23:49 -07:00
2020-08-05 12:23:49 -07:00
2020-08-05 12:23:49 -07:00
2020-08-05 12:23:49 -07:00
2020-08-05 12:23:49 -07:00
2020-08-05 12:23:49 -07:00
2020-08-05 12:23:49 -07:00
2020-11-22 14:39:48 +01:00
2020-08-05 12:23:49 -07:00
2021-01-05 15:43:34 -06:00
2020-08-05 12:23:49 -07:00
2021-01-29 18:23:29 +01:00
2020-08-05 12:23:49 -07:00
2020-08-05 12:23:49 -07:00
2020-08-05 12:23:49 -07:00
2020-08-05 12:23:49 -07:00
2020-08-05 12:23:49 -07:00
2021-01-09 08:50:30 +01:00
2020-08-05 12:23:49 -07:00
2020-08-05 12:23:49 -07:00
2020-08-05 12:23:49 -07:00
2021-02-05 18:14:50 -08:00
2020-08-05 12:23:49 -07:00
2020-08-15 16:06:54 -07:00
2020-08-05 12:23:49 -07:00
2020-11-22 14:39:48 +01:00
2020-08-05 12:23:49 -07:00
2020-11-22 14:39:48 +01:00
2020-11-22 14:39:48 +01:00
2020-12-11 23:09:16 +01:00
2020-08-05 12:23:49 -07:00
2021-01-09 17:02:11 -08:00
2020-08-05 12:23:49 -07:00
2020-11-22 14:39:48 +01:00
2020-08-05 12:23:49 -07:00
2020-12-14 23:02:54 +01:00
2020-08-05 12:23:49 -07:00
2020-08-05 12:23:49 -07:00
2020-08-05 12:23:49 -07:00
2020-08-05 12:23:49 -07:00
2020-08-05 12:23:49 -07:00
2020-08-05 12:23:49 -07:00
2020-08-05 12:23:49 -07:00
2021-01-26 07:06:25 +01:00
2020-08-05 12:23:49 -07:00
2020-12-24 08:53:08 +01:00
2020-08-05 12:23:49 -07:00
2020-08-05 12:23:49 -07:00
2020-08-05 12:23:49 -07:00
2020-11-22 14:39:48 +01:00
2020-08-05 12:23:49 -07:00
2021-01-28 07:19:38 +01:00
2020-08-05 12:23:49 -07:00
2020-08-05 12:23:49 -07:00
2020-08-05 12:23:49 -07:00
2020-12-06 13:42:35 -08:00
2020-08-05 12:23:49 -07:00
2021-01-11 17:00:06 -08:00
2020-08-05 12:23:49 -07:00
2020-11-15 15:15:20 +01:00
2020-08-05 12:23:49 -07:00
2021-01-24 15:31:39 +01:00
2020-09-21 20:58:34 +02:00
2020-08-05 12:23:49 -07:00
2020-08-05 12:23:49 -07:00
2020-09-13 17:54:52 -07:00
2020-08-05 12:23:49 -07:00
2020-11-22 14:39:48 +01:00
2020-08-05 12:23:49 -07:00
2020-06-24 20:43:56 +02:00
2019-11-25 14:13:33 -08:00
2021-02-05 17:58:08 -08:00
2021-02-05 17:58:08 -08:00
2021-01-09 17:02:11 -08:00
2020-12-22 12:38:51 -08:00
2020-03-14 15:07:54 -07:00
2020-12-11 18:43:04 +01:00
2020-09-08 22:44:03 +02:00
2021-01-09 13:14:54 -08:00
2021-02-05 17:58:08 -08: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
2021-02-05 17:58:08 -08:00
2021-01-28 07:19:38 +01:00
2020-12-22 12:38:51 -08:00
2020-09-08 22:44:03 +02:00
2020-07-08 11:00:12 -07:00
2021-02-05 17:58:08 -08:00
2021-02-05 17:58:08 -08:00
2021-02-05 17:58:08 -08:00
2021-02-06 19:59:53 +01:00
2021-02-05 17:58:08 -08:00
2020-12-06 13:42:35 -08:00
2020-12-06 15:39:54 +01:00
2021-02-05 18:14:50 -08:00
2021-01-29 20:46:34 +01:00
2020-07-29 17:04:18 -07:00
2020-11-22 14:39:48 +01:00
2020-12-15 15:47:44 +01:00
2020-09-21 17:44:58 +02:00
2020-09-12 17:35:21 -07:00
2021-01-08 19:36:56 -08:00
2020-11-22 14:39:48 +01:00
2021-01-08 12:58:34 -08:00
2020-11-29 12:35:18 -08:00
2021-02-05 17:58:08 -08:00
2020-04-05 10:13:13 +02:00
2021-01-09 17:02:11 -08:00
2021-01-09 17:02:11 -08:00
2021-01-31 15:42:35 -08:00
2021-01-05 15:43:34 -06:00
2021-01-05 15:43:34 -06:00
2020-11-23 19:36:39 -08:00
2020-09-08 22:44:03 +02:00
2021-02-06 13:28:01 -08:00
2021-02-06 13:28:01 -08:00
2021-02-05 17:58:08 -08:00
2020-11-05 20:07:05 -08:00
2020-09-03 11:01:27 -07:00
2020-09-03 11:01:27 -07:00
2020-09-08 22:44:03 +02:00
2020-08-08 15:32:06 -07:00
2020-12-19 16:10:40 -08:00
2020-05-01 13:30:56 -07:00
2020-05-01 13:30:56 -07:00
2020-12-22 12:38:51 -08:00
2021-01-08 12:58:34 -08:00
2021-01-11 20:56:15 +01:00
2021-01-11 20:53:11 +01:00
2020-12-04 16:44:48 +01:00
2020-12-04 16:44:48 +01:00
2020-12-05 13:19:07 -08:00
2021-02-04 14:12:14 -08:00
2020-10-25 22:48:49 -07:00
2020-12-22 12:38:51 -08:00
2020-07-12 16:57:30 -07:00
2021-02-05 22:03:13 +01:00
2020-12-22 12:38:51 -08:00
2020-12-06 15:39:49 +01:00
2021-01-29 20:46:34 +01:00
2021-01-29 20:46:34 +01: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-11-20 14:22:42 -06:00
2020-12-13 17:30:26 -08:00
2020-12-13 17:30:26 -08:00
2021-01-30 16:20:20 -08:00
2021-01-09 17:02:11 -08:00
2019-12-29 15:51:22 -08:00
2019-12-29 14:49:05 -08:00
2020-05-01 13:30:56 -07:00
2019-11-25 13:07:15 +01:00
2020-11-12 10:55:11 -08:00
2020-11-12 10:55:11 -08:00
2020-11-15 15:20:55 +01:00
2020-10-25 14:52:37 -07:00
2020-07-29 17:04:18 -07:00
2020-06-07 20:00:42 -07:00
2020-10-10 13:00:24 +02: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-09-27 18:04:09 +02:00
2020-09-26 17:30:25 -07:00
2021-02-05 17:58:08 -08:00
2020-08-24 12:12:10 -07:00
2020-12-11 21:24:33 +01:00
2020-05-01 13:30:56 -07:00
2019-11-25 14:13:33 -08:00
2020-04-05 10:13:13 +02:00
2020-02-14 19:06:19 +01:00
2021-01-30 16:20:20 -08:00
2021-01-30 16:20:20 -08:00
2020-08-09 15:05:16 -07:00
2020-04-05 10:13:13 +02:00
2020-12-28 23:51:18 -08:00
2020-12-28 23:51:18 -08:00
2021-02-05 17:58:08 -08:00
2021-02-05 17:58:08 -08:00