Index: thread.h =================================================================== RCS file: /cvs/src/src/winsup/cygwin/thread.h,v retrieving revision 1.92 diff -c -p -d -r1.92 thread.h *** thread.h 28 May 2004 19:50:07 -0000 1.92 --- thread.h 29 May 2005 14:46:08 -0000 *************** List_insert (list_node *&head, list_node *** 136,149 **** } template inline void ! List_remove (fast_mutex &mx, list_node *&head, list_node *node) { if (!node) return; mx.lock (); if (head) { ! if (InterlockedCompareExchangePointer (&head, node->next, node) != node) { list_node *cur = head; --- 136,151 ---- } template inline void ! List_remove (fast_mutex &mx, list_node *&head, list_node const *node) { if (!node) return; mx.lock (); if (head) { ! if (head == node) ! head = head->next; ! else { list_node *cur = head;