Hazard pointers needed with GC ?

2011-12-07 Thread Martin Nowak
I implemented a lock-free doubly linked list some time ago. I omitted the use of hazard lists because flagging the lowest bit would still make a valid pointer into the list node. Afterwards I found that http://www.d-programming-language.org/garbage.html explicitly states: p = cast(void*)(cast

Re: Hazard pointers needed with GC ?

2011-12-07 Thread deadalnix
Le 07/12/2011 18:02, Martin Nowak a écrit : I implemented a lock-free doubly linked list some time ago. I omitted the use of hazard lists because flagging the lowest bit would still make a valid pointer into the list node. Afterwards I found that http://www.d-programming-language.org/garbage.html

Re: Hazard pointers needed with GC ?

2011-12-07 Thread Martin Nowak
On Wed, 07 Dec 2011 18:28:59 +0100, deadalnix wrote: Le 07/12/2011 18:02, Martin Nowak a écrit : I implemented a lock-free doubly linked list some time ago. I omitted the use of hazard lists because flagging the lowest bit would still make a valid pointer into the list node. Afterwards I found

Re: Hazard pointers needed with GC ?

2011-12-07 Thread Timon Gehr
On 12/07/2011 06:02 PM, Martin Nowak wrote: I implemented a lock-free doubly linked list some time ago. I omitted the use of hazard lists because flagging the lowest bit would still make a valid pointer into the list node. Afterwards I found that http://www.d-programming-language.org/garbage.html

Re: Hazard pointers needed with GC ?

2011-12-07 Thread Walter Bright
On 12/7/2011 9:02 AM, Martin Nowak wrote: I implemented a lock-free doubly linked list some time ago. I omitted the use of hazard lists because flagging the lowest bit would still make a valid pointer into the list node. Afterwards I found that http://www.d-programming-language.org/garbage.html e

Re: Hazard pointers needed with GC ?

2011-12-07 Thread Martin Nowak
On Wed, 07 Dec 2011 23:23:26 +0100, Walter Bright wrote: On 12/7/2011 9:02 AM, Martin Nowak wrote: I implemented a lock-free doubly linked list some time ago. I omitted the use of hazard lists because flagging the lowest bit would still make a valid pointer into the list node. Afterwards I f