IF EXISTS (SELECT * FROM sysobjects
WHERE id = OBJECT_ID('dbo.release_semaphore')
AND sysstat & 0xf = 4)
DROP PROCEDURE dbo.release_semaphore
GO
CREATE PROCEDURE release_semaphore
@name VARCHAR(30) = 'textreader'
AS
/* release the specified semaphore */
SET NOCOUNT ON
UPDATE semaphore
SET status = 0
WHERE name = @name
AND status = 1
GO