A memory barrier is needed on some platforms to ensure that all updates to the node occur before the tail pointer is updated.