jhb
c3ffedd66b
When reopening a stream backed by an open file descriptor, do not close
...
the existing file descriptor. Instead, let dup2() atomically close the
old file descriptor when assigning the newly opened file to the same
descriptor. This closes a race in a multithreaded application where a
concurrent open() could allocate the existing file descriptor in between
the calls to close() and dup2().
PR: threads/79887
Submitted by: Dmitrij Tejblum tejblum of yandex-team.ru
Reviewed by: davidxu
MFC after: 1 week
2010-12-09 20:28:30 +00:00
..
2008-04-17 22:17:54 +00:00
2009-03-02 04:11:42 +00:00
2008-05-05 16:03:52 +00:00
2009-03-04 03:38:51 +00:00
2007-01-09 00:28:16 +00:00
2007-01-09 00:28:16 +00:00
2006-04-22 16:47:59 +00:00
2008-05-10 18:39:20 +00:00
2008-05-05 16:03:52 +00:00
2009-01-28 14:38:41 +00:00
2008-05-05 16:03:52 +00:00
2007-01-09 00:28:16 +00:00
2007-01-09 00:28:16 +00:00
2007-01-09 00:28:16 +00:00
2009-02-28 06:00:58 +00:00
2007-01-09 00:28:16 +00:00
2007-01-09 00:28:16 +00:00
2010-05-13 12:07:55 +00:00
2007-01-09 00:28:16 +00:00
2008-04-17 22:17:54 +00:00
2007-01-09 00:28:16 +00:00
2007-01-09 00:28:16 +00:00
2009-11-25 04:45:45 +00:00
2008-05-05 16:03:52 +00:00
2010-03-11 17:03:32 +00:00
2007-01-09 00:28:16 +00:00
2007-01-09 00:28:16 +00:00
2010-05-11 23:08:31 +00:00
2008-04-22 17:03:32 +00:00
2007-01-09 00:28:16 +00:00
2007-01-09 00:28:16 +00:00
2007-01-09 00:28:16 +00:00
2007-04-19 14:01:04 +00:00
2007-01-09 00:28:16 +00:00
2008-04-17 22:17:54 +00:00
2007-01-09 00:28:16 +00:00
2009-01-15 18:53:52 +00:00
2007-01-09 00:28:16 +00:00
2010-01-10 14:30:30 +00:00
2010-12-09 20:28:30 +00:00
2007-01-09 00:28:16 +00:00
2007-06-18 02:13:04 +00:00
2008-04-17 22:17:54 +00:00
2007-01-09 00:28:16 +00:00
2007-01-09 00:28:16 +00:00
2007-01-09 00:28:16 +00:00
2009-12-05 19:31:38 +00:00
2009-11-25 04:21:42 +00:00
2007-01-09 00:28:16 +00:00
2007-01-09 00:28:16 +00:00
2008-04-17 22:17:54 +00:00
2010-01-10 14:30:30 +00:00
2010-01-08 22:02:42 +00:00
2008-05-05 16:03:52 +00:00
2008-05-05 16:03:52 +00:00
2009-10-04 19:43:36 +00:00
2010-11-30 21:26:21 +00:00
2009-02-28 06:00:58 +00:00
2007-01-09 00:28:16 +00:00
2007-01-09 00:28:16 +00:00
2007-01-09 00:28:16 +00:00
2007-01-09 00:28:16 +00:00
2010-03-11 17:03:32 +00:00
2007-01-09 00:28:16 +00:00
2009-03-04 03:38:51 +00:00
2007-01-09 00:28:16 +00:00
2010-02-28 13:31:29 +00:00
2007-01-09 00:28:16 +00:00
2010-12-02 13:40:21 +00:00
2010-09-11 10:49:56 +00:00
2007-01-09 00:28:16 +00:00
2009-01-22 08:14:28 +00:00
2009-03-02 04:07:58 +00:00
2007-01-09 00:28:16 +00:00
2008-05-05 16:03:52 +00:00
2008-05-05 16:03:52 +00:00
2007-01-09 00:28:16 +00:00
2007-01-09 00:28:16 +00:00
2007-01-09 00:28:16 +00:00
2008-04-17 22:17:54 +00:00
2007-01-09 00:28:16 +00:00
2007-01-09 00:28:16 +00:00
2007-01-09 00:28:16 +00:00
2007-01-09 00:28:16 +00:00
2007-01-09 00:28:16 +00:00
2007-01-09 00:28:16 +00:00
2007-01-09 00:28:16 +00:00
2007-01-09 00:28:16 +00:00
2007-01-09 00:28:16 +00:00
2007-01-09 00:28:16 +00:00
2010-03-11 17:03:32 +00:00
2009-12-21 19:59:38 +00:00
2009-12-21 19:56:03 +00:00
2009-03-04 03:38:51 +00:00
2008-05-05 16:14:02 +00:00
2009-03-04 03:38:51 +00:00
2007-01-09 00:28:16 +00:00
2007-01-09 00:28:16 +00:00
2010-05-13 12:07:55 +00:00
2007-01-09 00:28:16 +00:00
2007-01-09 00:28:16 +00:00
2008-04-17 22:17:54 +00:00
2007-01-09 00:28:16 +00:00
2008-04-17 22:17:54 +00:00
2010-04-05 22:09:29 +00:00
2010-03-11 17:03:32 +00:00
2010-03-11 17:03:32 +00:00
2009-01-19 06:19:51 +00:00
2009-11-25 04:27:55 +00:00
2009-01-19 06:19:51 +00:00
2007-01-09 00:28:16 +00:00
2007-01-09 00:28:16 +00:00
2010-03-11 17:03:32 +00:00
2010-03-11 17:03:32 +00:00
2010-03-11 17:03:32 +00:00
2010-03-11 17:03:32 +00:00
2010-03-11 17:03:32 +00:00
2007-01-09 00:28:16 +00:00
2010-05-13 12:07:55 +00:00
2007-01-09 00:28:16 +00:00
2009-01-08 06:38:06 +00:00
2006-01-25 12:45:24 +00:00
2005-12-16 18:56:39 +00:00
2005-12-16 18:56:39 +00:00
2005-12-22 14:23:54 +00:00
2006-03-02 08:53:45 +00:00
2005-12-16 18:56:39 +00:00
2009-11-25 04:35:54 +00:00
2006-01-25 12:45:24 +00:00
2010-03-11 17:03:32 +00:00