runtime: fix map len and chan len/cap
This commit is contained in:
@@ -53,6 +53,9 @@ func NewChan(eltSize, cap int) *Chan {
|
||||
}
|
||||
|
||||
func ChanLen(p *Chan) (n int) {
|
||||
if p == nil {
|
||||
return 0
|
||||
}
|
||||
p.mutex.Lock()
|
||||
n = p.len
|
||||
p.mutex.Unlock()
|
||||
@@ -60,6 +63,9 @@ func ChanLen(p *Chan) (n int) {
|
||||
}
|
||||
|
||||
func ChanCap(p *Chan) int {
|
||||
if p == nil {
|
||||
return 0
|
||||
}
|
||||
return p.cap
|
||||
}
|
||||
|
||||
|
||||
@@ -82,3 +82,10 @@ func MapIterNext(it *hiter) (ok bool, k unsafe.Pointer, v unsafe.Pointer) {
|
||||
mapiternext(it)
|
||||
return
|
||||
}
|
||||
|
||||
func MapLen(h *Map) int {
|
||||
if h == nil {
|
||||
return 0
|
||||
}
|
||||
return h.count
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user