send an empty twice to force flush
atomicModifyIORef' -> atomicModifyIORef