Задача принимать веб-запрос, верно? Зачем брать на себя имплементацию веб-сервера и запускать его в своём процессе, если можно доверить это нормальному решению?
если не обмазаться локами программными, но всех таких случаев не предусмотришь, и все равно это костыли: например выставил ты лок, а потом оно упало, лок остался, всё, конец