Index: doc/proposals/concurrency/figures/int_monitor.fig
===================================================================
--- doc/proposals/concurrency/figures/int_monitor.fig	(revision 64b272aedd6db65f570acb3d386065b1438f00f8)
+++ doc/proposals/concurrency/figures/int_monitor.fig	(revision 6aa537a4e23382dcd70067bf61863a8aa795cccb)
@@ -8,31 +8,46 @@
 -2
 1200 2
-5 1 0 1 0 7 50 -1 -1 0.000 0 1 0 0 600.000 2625.000 600 2325 300 2625 600 2925
-6 3225 4500 7425 4800
-1 3 0 1 -1 -1 0 0 20 0.000 1 0.0000 3375 4650 80 80 3375 4650 3455 4730
-1 3 0 1 -1 -1 0 0 -1 0.000 1 0.0000 4725 4650 105 105 4725 4650 4830 4755
-1 3 0 1 -1 -1 0 0 4 0.000 1 0.0000 6225 4650 105 105 6225 4650 6330 4755
-4 0 -1 0 0 0 12 0.0000 2 135 1035 4950 4725 blocked task\001
-4 0 -1 0 0 0 12 0.0000 2 135 870 3525 4725 active task\001
-4 0 -1 0 0 0 12 0.0000 2 180 930 6450 4725 routine ptrs\001
+5 1 0 1 0 7 50 -1 -1 0.000 0 1 0 0 675.000 2700.000 675 2400 375 2700 675 3000
+6 4533 2866 4655 3129
+5 1 0 1 0 7 50 -1 -1 0.000 0 1 0 0 4657.017 2997.000 4655 2873 4533 2997 4655 3121
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 4655 2866 4655 3129
 -6
-6 8445 1695 8655 1905
-1 3 0 1 -1 -1 0 0 -1 0.000 1 0.0000 8550 1800 105 105 8550 1800 8655 1905
-4 1 -1 0 0 0 10 0.0000 2 75 75 8550 1860 a\001
+6 4725 2866 4847 3129
+5 1 0 1 0 7 50 -1 -1 0.000 0 1 0 0 4849.017 2997.000 4847 2873 4725 2997 4847 3121
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 4847 2866 4847 3129
 -6
-6 8445 1395 8655 1605
-1 3 0 1 -1 -1 0 0 -1 0.000 1 0.0000 8550 1500 105 105 8550 1500 8655 1605
-4 1 -1 0 0 0 10 0.0000 2 105 90 8550 1560 b\001
+6 4911 2866 5033 3129
+5 1 0 1 0 7 50 -1 -1 0.000 0 1 0 0 5035.017 2997.000 5033 2873 4911 2997 5033 3121
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 5033 2866 5033 3129
 -6
-6 3945 1695 4155 1905
-1 3 0 1 -1 -1 0 0 -1 0.000 1 0.0000 4050 1800 105 105 4050 1800 4155 1905
-4 1 -1 0 0 0 10 0.0000 2 75 75 4050 1860 a\001
+6 9027 2866 9149 3129
+5 1 0 1 0 7 50 -1 -1 0.000 0 0 0 0 9024.983 2997.000 9027 2873 9149 2997 9027 3121
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 9027 2866 9027 3129
 -6
-6 3945 1395 4155 1605
-1 3 0 1 -1 -1 0 0 -1 0.000 1 0.0000 4050 1500 105 105 4050 1500 4155 1605
-4 1 -1 0 0 0 10 0.0000 2 105 90 4050 1560 b\001
+6 9253 2866 9375 3129
+5 1 0 1 0 7 50 -1 -1 0.000 0 0 0 0 9250.983 2997.000 9253 2873 9375 2997 9253 3121
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 9253 2866 9253 3129
+-6
+6 9478 2866 9600 3129
+5 1 0 1 0 7 50 -1 -1 0.000 0 0 0 0 9475.983 2997.000 9478 2873 9600 2997 9478 3121
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 9478 2866 9478 3129
 -6
 1 3 0 1 -1 -1 0 0 20 0.000 1 0.0000 7650 3675 80 80 7650 3675 7730 3755
 1 3 0 1 -1 -1 0 0 20 0.000 1 0.0000 3150 3675 80 80 3150 3675 3230 3755
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 4047 1793 125 125 4047 1793 3929 1752
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 4050 1500 125 125 4050 1500 3932 1459
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 8550 1500 125 125 8550 1500 8432 1459
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 8550 1800 125 125 8550 1800 8432 1759
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 1200 2850 125 125 1200 2850 1082 2809
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 900 2850 125 125 900 2850 782 2809
+1 3 0 1 -1 -1 0 0 4 0.000 1 0.0000 6225 4650 105 105 6225 4650 6330 4755
+1 3 0 1 -1 -1 0 0 20 0.000 1 0.0000 3150 4650 80 80 3150 4650 3230 4730
+1 3 0 1 -1 -1 0 0 -1 0.000 1 0.0000 4575 4650 105 105 4575 4650 4680 4755
 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
 	 3900 1950 4200 2100
@@ -62,43 +77,13 @@
 	 3000 4050 3300 4200
 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
-	 600 2925 1350 2925
+	 675 3000 1425 3000
 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
-	 600 2325 1350 2325
+	 675 2400 1425 2400
 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
-	 1350 2625 1425 2850
+	 1425 2700 1500 2925
 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
-	 1350 2325 1275 2550
+	 1425 2400 1350 2625
 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
-	 600 2625 1350 2625
-2 3 0 1 0 7 50 -1 -1 0.000 0 0 0 0 0 7
-	 1350 2775 1275 2645 1125 2645 1050 2775 1125 2905 1275 2905
-	 1350 2775
-2 3 0 1 0 7 50 -1 -1 0.000 0 0 0 0 0 7
-	 975 2775 900 2645 750 2645 675 2775 750 2905 900 2905
-	 975 2775
-2 3 0 1 0 7 50 -1 -1 0.000 0 0 0 0 0 7
-	 4800 3000 4725 2870 4575 2870 4500 3000 4575 3130 4725 3130
-	 4800 3000
-2 3 0 1 0 7 50 -1 -1 0.000 0 0 0 0 0 7
-	 5100 3000 5025 2870 4875 2870 4800 3000 4875 3130 5025 3130
-	 5100 3000
-2 3 0 1 0 7 50 -1 -1 0.000 0 0 0 0 0 7
-	 9300 3000 9225 2870 9075 2870 9000 3000 9075 3130 9225 3130
-	 9300 3000
-2 3 0 1 0 7 50 -1 -1 0.000 0 0 0 0 0 7
-	 9600 3000 9525 2870 9375 2870 9300 3000 9375 3130 9525 3130
-	 9600 3000
-2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
-	 675 2775 975 2775
-2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
-	 1050 2775 1350 2775
-2 3 0 1 0 7 50 -1 -1 0.000 0 0 0 0 0 7
-	 4875 4950 4800 4820 4650 4820 4575 4950 4650 5080 4800 5080
-	 4875 4950
-2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
-	 4575 4950 4875 4950
-2 3 0 1 0 7 50 -1 -1 0.000 0 0 0 0 0 7
-	 3525 4970 3450 4840 3300 4840 3225 4970 3300 5100 3450 5100
-	 3525 4970
+	 675 2700 1425 2700
 4 1 -1 0 0 0 12 0.0000 2 135 315 2850 4275 exit\001
 4 1 -1 0 0 0 12 0.0000 2 135 315 7350 4275 exit\001
@@ -121,5 +106,6 @@
 4 1 -1 0 0 0 12 0.0000 2 135 495 4050 1275 queue\001
 4 1 -1 0 0 0 12 0.0000 2 165 420 4050 1050 entry\001
-4 0 0 50 -1 0 11 0.0000 2 120 705 450 2250 Condition\001
-4 0 0 50 -1 0 11 0.0000 2 165 630 3600 5025 signalled\001
-4 0 0 50 -1 0 11 0.0000 2 165 525 4950 5025 waiting\001
+4 0 0 50 -1 0 11 0.0000 2 120 705 600 2325 Condition\001
+4 0 -1 0 0 0 12 0.0000 2 180 930 6450 4725 routine ptrs\001
+4 0 -1 0 0 0 12 0.0000 2 135 1050 3300 4725 active thread\001
+4 0 -1 0 0 0 12 0.0000 2 135 1215 4725 4725 blocked thread\001
Index: doc/proposals/concurrency/figures/int_monitor.fig.bak
===================================================================
--- doc/proposals/concurrency/figures/int_monitor.fig.bak	(revision 6aa537a4e23382dcd70067bf61863a8aa795cccb)
+++ doc/proposals/concurrency/figures/int_monitor.fig.bak	(revision 6aa537a4e23382dcd70067bf61863a8aa795cccb)
@@ -0,0 +1,111 @@
+#FIG 3.2  Produced by xfig version 3.2.5c
+Landscape
+Center
+Inches
+Letter  
+100.00
+Single
+-2
+1200 2
+5 1 0 1 0 7 50 -1 -1 0.000 0 1 0 0 675.000 2700.000 675 2400 375 2700 675 3000
+6 4533 2866 4655 3129
+5 1 0 1 0 7 50 -1 -1 0.000 0 1 0 0 4657.017 2997.000 4655 2873 4533 2997 4655 3121
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 4655 2866 4655 3129
+-6
+6 4725 2866 4847 3129
+5 1 0 1 0 7 50 -1 -1 0.000 0 1 0 0 4849.017 2997.000 4847 2873 4725 2997 4847 3121
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 4847 2866 4847 3129
+-6
+6 4911 2866 5033 3129
+5 1 0 1 0 7 50 -1 -1 0.000 0 1 0 0 5035.017 2997.000 5033 2873 4911 2997 5033 3121
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 5033 2866 5033 3129
+-6
+6 9027 2866 9149 3129
+5 1 0 1 0 7 50 -1 -1 0.000 0 0 0 0 9024.983 2997.000 9027 2873 9149 2997 9027 3121
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 9027 2866 9027 3129
+-6
+6 9178 2866 9300 3129
+5 1 0 1 0 7 50 -1 -1 0.000 0 0 0 0 9175.983 2997.000 9178 2873 9300 2997 9178 3121
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 9178 2866 9178 3129
+-6
+6 9328 2866 9450 3129
+5 1 0 1 0 7 50 -1 -1 0.000 0 0 0 0 9325.983 2997.000 9328 2873 9450 2997 9328 3121
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 9328 2866 9328 3129
+-6
+1 3 0 1 -1 -1 0 0 20 0.000 1 0.0000 7650 3675 80 80 7650 3675 7730 3755
+1 3 0 1 -1 -1 0 0 20 0.000 1 0.0000 3150 3675 80 80 3150 3675 3230 3755
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 4047 1793 125 125 4047 1793 3929 1752
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 4050 1500 125 125 4050 1500 3932 1459
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 8550 1500 125 125 8550 1500 8432 1459
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 8550 1800 125 125 8550 1800 8432 1759
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 1200 2850 125 125 1200 2850 1082 2809
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 900 2850 125 125 900 2850 782 2809
+1 3 0 1 -1 -1 0 0 4 0.000 1 0.0000 6225 4650 105 105 6225 4650 6330 4755
+1 3 0 1 -1 -1 0 0 20 0.000 1 0.0000 3150 4650 80 80 3150 4650 3230 4730
+1 3 0 1 -1 -1 0 0 -1 0.000 1 0.0000 4575 4650 105 105 4575 4650 4680 4755
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 3900 1950 4200 2100
+2 1 0 1 -1 -1 0 0 -1 0.000 0 0 -1 0 0 5
+	 3000 4050 1800 4050 1800 1950 3900 1950 3900 1350
+2 1 0 1 -1 -1 0 0 -1 0.000 0 0 -1 0 0 9
+	 7800 4050 9000 4050 9000 3150 9600 3150 9600 2850 9000 2850
+	 9000 1950 8700 1950 8700 1350
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 8400 1950 8700 2100
+2 1 0 1 -1 -1 0 0 -1 0.000 0 0 -1 0 0 9
+	 3300 4050 4500 4050 4500 3150 5100 3150 5100 2850 4500 2850
+	 4500 1950 4200 1950 4200 1350
+2 1 0 1 -1 -1 0 0 -1 0.000 0 0 -1 0 0 5
+	 7500 4050 6300 4050 6300 1950 8400 1950 8400 1350
+2 2 1 1 -1 -1 0 0 -1 4.000 0 0 0 0 0 5
+	 8400 3300 8400 2400 6900 2400 6900 3300 8400 3300
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 9000 2850 8850 3150
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 7500 4050 7800 4200
+2 2 1 1 -1 -1 0 0 -1 4.000 0 0 0 0 0 5
+	 3900 3300 3900 2400 2400 2400 2400 3300 3900 3300
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 4500 2850 4350 3150
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 3000 4050 3300 4200
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 675 3000 1425 3000
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 675 2400 1425 2400
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 1425 2700 1500 2925
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 1425 2400 1350 2625
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 675 2700 1425 2700
+4 1 -1 0 0 0 12 0.0000 2 135 315 2850 4275 exit\001
+4 1 -1 0 0 0 12 0.0000 2 135 315 7350 4275 exit\001
+4 0 -1 0 0 0 12 0.0000 2 180 750 9150 2325 acceptor/\001
+4 0 -1 0 0 0 12 0.0000 2 180 750 9150 2550 signalled\001
+4 0 -1 0 0 0 12 0.0000 2 135 420 9150 2775 stack\001
+4 1 -1 0 0 0 12 0.0000 2 135 525 7650 2775 shared\001
+4 1 -1 0 0 0 12 0.0000 2 135 735 7650 3075 variables\001
+4 1 -1 0 0 0 12 0.0000 2 135 495 8550 1275 queue\001
+4 1 -1 0 0 0 12 0.0000 2 165 420 8550 1125 entry\001
+4 0 -1 0 0 0 12 0.0000 2 135 630 8850 1575 order of\001
+4 0 -1 0 0 0 12 0.0000 2 135 525 8850 1725 arrival\001
+4 0 -1 0 0 0 12 0.0000 2 180 750 4650 2325 acceptor/\001
+4 0 -1 0 0 0 12 0.0000 2 180 750 4650 2550 signalled\001
+4 0 -1 0 0 0 12 0.0000 2 135 420 4650 2775 stack\001
+4 1 -1 0 0 0 12 0.0000 2 135 525 3150 2775 shared\001
+4 1 -1 0 0 0 12 0.0000 2 135 735 3150 3075 variables\001
+4 0 -1 0 0 0 12 0.0000 2 135 525 4350 1725 arrival\001
+4 0 -1 0 0 0 12 0.0000 2 135 630 4350 1500 order of\001
+4 1 -1 0 0 0 12 0.0000 2 135 495 4050 1275 queue\001
+4 1 -1 0 0 0 12 0.0000 2 165 420 4050 1050 entry\001
+4 0 0 50 -1 0 11 0.0000 2 120 705 600 2325 Condition\001
+4 0 -1 0 0 0 12 0.0000 2 180 930 6450 4725 routine ptrs\001
+4 0 -1 0 0 0 12 0.0000 2 135 1050 3300 4725 active thread\001
+4 0 -1 0 0 0 12 0.0000 2 135 1215 4725 4725 blocked thread\001
Index: doc/proposals/concurrency/figures/monitor_structs.fig
===================================================================
--- doc/proposals/concurrency/figures/monitor_structs.fig	(revision 6aa537a4e23382dcd70067bf61863a8aa795cccb)
+++ doc/proposals/concurrency/figures/monitor_structs.fig	(revision 6aa537a4e23382dcd70067bf61863a8aa795cccb)
@@ -0,0 +1,71 @@
+#FIG 3.2  Produced by xfig version 3.2.5c
+Landscape
+Center
+Inches
+Letter  
+100.00
+Single
+-2
+1200 2
+2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 1500 1200 2100 1200 2100 1500 1500 1500 1500 1200
+2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 1500 1500 2100 1500 2100 1800 1500 1800 1500 1500
+2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 3000 1200 3300 1200 3300 1500 3000 1500 3000 1200
+2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 3000 1500 3300 1500 3300 1800 3000 1800 3000 1500
+2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 3000 1800 3300 1800 3300 2100 3000 2100 3000 1800
+2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 3000 2100 3300 2100 3300 2400 3000 2400 3000 2100
+2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 1500 900 2100 900 2100 1200 1500 1200 1500 900
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 1 2
+	1 1 1.00 90.00 120.00
+	5 1 1.00 45.00 90.00
+	 1800 1050 4050 1050
+2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 5100 900 5700 900 5700 1800 5100 1800 5100 900
+2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 6900 1500 7500 1500 7500 2400 6900 2400 6900 1500
+2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 6000 1200 6600 1200 6600 2100 6000 2100 6000 1200
+2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 7800 1800 8400 1800 8400 2700 7800 2700 7800 1800
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 1 2
+	1 1 1.00 90.00 120.00
+	5 1 1.00 45.00 90.00
+	 1800 1350 3000 1350
+3 2 0 3 0 7 50 -1 -1 0.000 1 0 0 10
+	 4275 900 4050 975 4350 1050 4050 1125 4350 1200 4050 1275
+	 4350 1350 4050 1425 4350 1500 4125 1575
+	 0.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000
+	 -1.000 0.000
+3 2 0 1 0 7 50 -1 -1 0.000 0 1 1 3
+	1 1 1.00 90.00 120.00
+	5 1 1.00 30.00 90.00
+	 3150 1950 4875 2400 6900 1650
+	 0.000 -1.000 0.000
+3 2 0 1 0 7 50 -1 -1 0.000 0 1 1 3
+	1 1 1.00 90.00 120.00
+	5 1 1.00 60.00 90.00
+	 3150 1350 4200 1650 5100 1050
+	 0.000 -1.000 0.000
+3 2 0 1 0 7 50 -1 -1 0.000 0 1 1 3
+	1 1 1.00 90.00 120.00
+	5 1 1.00 60.00 90.00
+	 3150 1650 4575 2025 6000 1350
+	 0.000 -1.000 0.000
+3 2 0 1 0 7 50 -1 -1 0.000 0 1 1 3
+	1 1 1.00 90.00 120.00
+	5 1 1.00 60.00 90.00
+	 3150 2250 5175 2775 7800 1950
+	 0.000 -1.000 0.000
+4 0 0 50 -1 0 11 0.0000 2 120 705 3000 675 Condition\001
+4 0 0 50 -1 0 11 0.0000 2 120 630 3000 885 Criterion\001
+4 0 0 50 -1 0 11 0.0000 2 120 705 1425 675 Condition\001
+4 0 0 50 -1 0 11 0.0000 2 120 390 1425 825 Node\001
+4 0 0 50 -1 0 11 0.0000 2 120 660 6225 675 Monitors\001
+4 0 0 50 -1 0 11 0.0000 2 165 555 3900 675 Waiting\001
+4 0 0 50 -1 0 11 0.0000 2 120 495 3900 825 Thread\001
