Differences in FenceSync under ES2 and ES31

Android OpenGLES’s synchronization method FenceSync, ES2 uses eglCreatSyncKHR, while ES3 uses glFenceSync. What is the difference in the implementation of these two functions?