podman

Форк
0
42 строки · 700.0 Байт
1
package gpgme
2

3
import (
4
	"sync"
5
)
6

7
var callbacks struct {
8
	sync.Mutex
9
	m map[uintptr]interface{}
10
	c uintptr
11
}
12

13
func callbackAdd(v interface{}) uintptr {
14
	callbacks.Lock()
15
	defer callbacks.Unlock()
16
	if callbacks.m == nil {
17
		callbacks.m = make(map[uintptr]interface{})
18
	}
19
	callbacks.c++
20
	ret := callbacks.c
21
	callbacks.m[ret] = v
22
	return ret
23
}
24

25
func callbackLookup(c uintptr) interface{} {
26
	callbacks.Lock()
27
	defer callbacks.Unlock()
28
	ret := callbacks.m[c]
29
	if ret == nil {
30
		panic("callback pointer not found")
31
	}
32
	return ret
33
}
34

35
func callbackDelete(c uintptr) {
36
	callbacks.Lock()
37
	defer callbacks.Unlock()
38
	if callbacks.m[c] == nil {
39
		panic("callback pointer not found")
40
	}
41
	delete(callbacks.m, c)
42
}
43

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.