Does glXSwapB perform glFlus when it is called with single-buffer window?

Document( saids glXSwapBuffers performs an implicit glFlush and has no effect when drawable is not double buffer.

If I called glXSwapBuffers with single-buffer window, does it perform glFlush before returned? or do nothing and just returns?

You aren’t suppose to call glXSwapBuffers on a single buffered window. It won’t display anything. You have to call glFlush().