Moodle's session subsystem represents PHP's save handlers as "session handlers" (e.g.
database (the default),
On every request, Moodle obtains a write lock over the session and reads the data contained within it. If the session lock is already held by another process Moodle will busy-wait for a configured period of time for the lock to become available, consuming one of the workers until it gives up and shows an error to the user. Unless explicitly freed with
\core\session\manager::write_close() the session lock will continue to be held for the duration of the request, preventing other requests from progressing.