<div>IIRC, the issue in this code is that you access in _SAFE macro the next field in the current cursor *after* the current cursor has been freed</div>
<div>the issue is not that the next item has been freed while itering on the current cursor</div>
<div>(this was at least the issue I had)</div>
<div><br>so the first is to set the next cursor before entering the for loop&nbsp;and not after the execution of the for loop</div>
<div>A+<br>&nbsp;</div>
<div><span class="gmail_quote">2006/11/10, Mike McCormack &lt;<a href="mailto:mike@codeweavers.com">mike@codeweavers.com</a>&gt;:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid"><br>Eric Pouech wrote:<br>&gt; IMO this should be fixed by rewriting correctly the _SAFE version of the<br>
&gt; list macros, which are to blame here.<br>&gt; I have this somewhere, I'll send it later on.<br><br>The only way to prevent the next pointer (or any other pointer in the<br>thread list) from being free'd is to grab it.&nbsp;&nbsp; Since the LIST macros
<br>doesn't understand pointer grabbing, I don't see a way to fix it by<br>changing the macro...<br><br>Mike<br></blockquote></div><br><br clear="all"><br>-- <br>Eric Pouech