Kirk McKusick
45623f31bc
When allocating new buffers in getnewbuf, there are several points
...
at which we may sleep. So, after completing our buffer allocation
we must ensure that another process has not come along and allocated
a different buffer with the same identity. We do this by keeping a
global counter of the number of buffers that getnewbuf has allocated.
We save this count when we enter getnewbuf and check it when we are
about to return. If it has changed, then other buffers were allocated
while we were in getnewbuf, so we must return NULL to let our parent
know that it must recheck to see if it still needs the new buffer.
Hopefully this fix will eliminate the creation of duplicate buffers
with the same identity and the obscure corruptions that they cause.
1999-06-22 01:39:53 +00:00
..
1999-05-28 09:25:16 +00:00
1999-06-17 19:22:12 +00:00
1999-05-17 00:53:56 +00:00
1999-05-17 00:53:56 +00:00
1999-06-21 16:23:13 +00:00
1999-05-09 16:04:14 +00:00
1998-11-10 09:08:49 +00:00
1999-05-11 10:08:10 +00:00
1999-05-13 09:12:57 +00:00
1999-04-27 11:18:52 +00:00
1999-04-25 09:00:00 +00:00
1999-06-01 20:41:26 +00:00
1999-06-07 20:37:29 +00:00
1999-01-28 17:32:05 +00:00
1999-04-27 11:18:52 +00:00
1999-06-07 20:37:29 +00:00
1999-04-28 11:38:52 +00:00
1999-04-21 07:26:30 +00:00
1999-04-30 06:51:51 +00:00
1999-06-16 18:37:01 +00:00
1999-05-08 13:01:59 +00:00
1999-03-15 05:11:27 +00:00
1999-05-08 22:46:46 +00:00
1999-05-12 11:11:27 +00:00
1999-05-03 23:57:32 +00:00
1999-05-20 00:00:58 +00:00
1999-04-27 11:18:52 +00:00
1999-05-08 06:40:31 +00:00
1999-05-17 13:50:24 +00:00
1999-04-28 11:38:52 +00:00
1999-05-06 18:13:11 +00:00
1999-04-28 11:38:52 +00:00
1999-05-12 22:30:50 +00:00
1999-05-03 23:57:32 +00:00
1999-03-12 03:09:29 +00:00
1999-03-05 16:38:13 +00:00
1999-01-17 18:58:04 +00:00
1999-04-28 11:38:52 +00:00
1999-04-25 09:00:00 +00:00
1999-01-29 08:29:05 +00:00
1999-04-27 11:18:52 +00:00
1999-03-06 22:27:02 +00:00
1999-04-28 11:38:52 +00:00
1998-05-19 21:11:53 +00:00
1999-05-15 23:18:32 +00:00
1999-05-08 13:03:49 +00:00
1999-05-08 13:03:49 +00:00
1999-02-28 22:14:16 +00:00
1999-05-10 17:45:49 +00:00
1999-05-13 09:19:14 +00:00
1998-06-28 10:01:52 +00:00
1998-06-07 17:13:14 +00:00
1999-04-17 08:36:07 +00:00
1999-02-16 10:49:55 +00:00
1999-04-25 22:13:34 +00:00
1999-06-17 23:42:45 +00:00
1999-05-30 10:27:11 +00:00
1998-07-15 02:32:35 +00:00
1999-05-03 23:57:32 +00:00
1998-12-14 05:37:37 +00:00
1999-05-11 19:55:07 +00:00
1999-06-21 03:48:16 +00:00
1999-05-11 19:55:07 +00:00
1999-05-31 11:29:30 +00:00
1998-10-14 05:07:23 +00:00
1999-04-09 16:28:11 +00:00
1999-06-07 18:26:26 +00:00
1999-05-06 09:44:57 +00:00
1999-04-16 21:22:55 +00:00
1999-02-14 20:58:21 +00:00
1999-06-01 18:20:36 +00:00
1999-06-18 14:32:21 +00:00
1999-05-12 22:30:50 +00:00
1999-04-04 21:41:28 +00:00
1999-06-05 03:53:57 +00:00
1999-04-28 11:38:52 +00:00
1999-04-04 21:41:28 +00:00
1999-05-13 09:12:57 +00:00
1999-05-13 09:09:37 +00:00
1999-04-27 12:21:16 +00:00
1999-04-27 12:21:16 +00:00
1999-04-27 12:21:16 +00:00
1999-06-19 23:53:13 +00:00
1998-06-07 17:13:14 +00:00
1998-06-07 17:13:14 +00:00
1999-05-31 11:29:30 +00:00
1999-05-31 11:29:30 +00:00
1999-06-17 23:42:45 +00:00
1998-07-15 02:32:35 +00:00
1997-02-22 09:48:43 +00:00
1999-05-31 11:29:30 +00:00
1999-05-22 20:10:31 +00:00
1999-04-26 08:56:09 +00:00
1999-04-12 10:07:15 +00:00
1999-04-26 08:56:53 +00:00
1999-06-17 23:54:50 +00:00
1999-06-17 23:54:50 +00:00
1999-06-17 23:54:50 +00:00
1999-01-27 21:50:00 +00:00
1999-05-11 19:55:07 +00:00
1999-06-01 18:56:26 +00:00
1999-06-22 01:39:53 +00:00
1999-04-24 17:58:14 +00:00
1999-06-17 01:25:25 +00:00
1999-05-24 00:37:26 +00:00
1999-06-17 23:42:45 +00:00
1999-06-16 23:27:55 +00:00
1999-04-28 11:38:52 +00:00
1999-03-07 16:06:41 +00:00
1999-01-28 00:57:57 +00:00
1999-05-24 00:37:26 +00:00
1999-06-16 23:27:55 +00:00
1999-04-28 11:38:52 +00:00
1999-04-28 11:38:52 +00:00
1999-06-16 23:27:55 +00:00
1999-06-16 23:27:55 +00:00
1999-06-16 23:27:55 +00:00