blob: 71f4d4c1bd02ebdf2c71c3f71d009f79a43b5d17 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
use "die"
pkg std =
pkglocal var lock : (l : void# -> void)
pkglocal var unlock : (l : void# -> void)
pkglocal var memlck : void#
pkglocal var netlck : void#
pkglocal var envlck : void#
const __lockinit : ( \
mem : void#, \
net : void#, \
env : void#, \
lck : (l : void# -> void), \
unlck : (l : void# -> void) \
-> void)
;;
/* thread lock wrapper functions */
var lock
var unlock
/* locks for various parts of libstd */
var memlck
var netlck
var envlck
/*
work around compiler bug: we don't generate
syms for the funcs with an initializer
*/
const __init__ = {
lock = {l; }
unlock = {l; }
}
const __lockinit = {mem, net, env, lck, unlck
memlck = mem
netlck = net
envlck = env
lock = lck
unlock = unlck
}
|