int TSQueue::remove() { int item; bool success; do { success = tryRemove(&item); } until(success); return item; }