INNER CODE UNIT · Go

AcquireResource

ovh/utask · utask.go:252

func AcquireResource(ctx context.Context, name string) error {
	if global == nil {
		return nil
	}
	if _, ok := global.deadResources[name]; ok {
		return ErrDeadResource
	}

	s := global.resourceSemaphores[name]
	if s == nil {
		return nil
	}

	semaphoreCtx := ctx
	if global.resourceAcquireTimeoutDuration != 0 {
		ctx, cancelFunc := context.WithTimeout(ctx, global.resourceAcquireTimeoutDuration)
		defer cancelFunc()
		semaphoreCtx = ctx

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…