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.