1<html> 2<head> 3<title>Scoped Lock</title> 4<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 5<link rel="stylesheet" href="theme/style.css" type="text/css"> 6</head> 7 8<body> 9<table width="100%" border="0" background="theme/bkd2.gif" cellspacing="2"> 10 <tr> 11 <td width="10"> 12 </td> 13 <td width="85%"> <font size="6" face="Verdana, Arial, Helvetica, sans-serif"><b>Scoped 14 Lock</b></font></td> 15 <td width="112"><a href="http://spirit.sf.net"><img src="theme/spirit.gif" width="112" height="48" align="right" border="0"></a></td> 16 </tr> 17</table> 18<br> 19<table border="0"> 20 <tr> 21 <td width="10"></td> 22 <td width="30"><a href="../index.html"><img src="theme/u_arr.gif" border="0"></a></td> 23 <td width="30"><a href="regular_expression_parser.html"><img src="theme/l_arr.gif" border="0"></a></td> 24 <td width="30"><a href="distinct.html"><img src="theme/r_arr.gif" border="0"></a></td> 25 </tr> 26</table> 27<h2>scoped_lock_d</h2> 28<p>The <tt>scoped_lock_d</tt> directive constructs a parser that locks a mutex 29 during the attempt to match the contained parser.</p> 30<p>Syntax:</p> 31<pre> <span class="identifier">scoped_lock_d</span><span class="special">(</span>mutex<span class="special">&)[</span>body-parser<span class="special">]</span></pre> 32<p>Note, that nesting <tt>scoped_lock_d</tt> directives bears the risk of deadlocks 33 since the order of locking depends on the grammar used and may even depend on 34 the input being parsed. Locking order has to be consistent within an application 35 to ensure deadlock free operation.</p> 36<p></p> 37<table border="0"> 38 <tr> 39 <td width="10"></td> 40 <td width="30"><a href="../index.html"><img src="theme/u_arr.gif" border="0"></a></td> 41 <td width="30"><a href="regular_expression_parser.html"><img src="theme/l_arr.gif" border="0"></a></td> 42 <td width="30"><a href="distinct.html"><img src="theme/r_arr.gif" border="0"></a></td> 43 </tr> 44</table> 45<br> 46<hr size="1"> 47<p class="copyright">Copyright © 2003 Martin Wille<br> 48 <br> 49 <font size="2">Use, modification and distribution is subject to the Boost Software 50 License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 51 http://www.boost.org/LICENSE_1_0.txt)</font></p> 52<p class="copyright"> </p> 53</body> 54</html> 55