Skip to content

Use-PodeSemaphore

SYNOPSIS

Places a temporary hold on a Semaphore, invokes a ScriptBlock, then releases the Semaphore.

SYNTAX

Use-PodeSemaphore [-Name] <String> [-ScriptBlock] <ScriptBlock> [[-Timeout] <Int32>] [-Return]
 [-ProgressAction <ActionPreference>] [<CommonParameters>]

DESCRIPTION

Places a temporary hold on a Semaphore, invokes a ScriptBlock, then releases the Semaphore.

EXAMPLES

EXAMPLE 1

Use-PodeSemaphore -Name 'SelfSemaphore' -Timeout 5000 -ScriptBlock {}

EXAMPLE 2

$result = Use-PodeSemaphore -Name 'LocalSemaphore' -Return -ScriptBlock {}

PARAMETERS

-Name

The Name of the Semaphore.

Type: String
Parameter Sets: (All)
Aliases:

Required: True
Position: 1
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-ProgressAction

{{ Fill ProgressAction Description }}

Type: ActionPreference
Parameter Sets: (All)
Aliases: proga

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Return

If supplied, any values from the ScriptBlock will be returned.

Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

-ScriptBlock

The ScriptBlock to invoke.

Type: ScriptBlock
Parameter Sets: (All)
Aliases:

Required: True
Position: 2
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Timeout

If supplied, a number of milliseconds to timeout after if a hold cannot be acquired on the Semaphore. (Default: Infinite)

Type: Int32
Parameter Sets: (All)
Aliases:

Required: False
Position: 3
Default value: -1
Accept pipeline input: False
Accept wildcard characters: False

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

INPUTS

OUTPUTS

NOTES