1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

sync: fix chan.close() while a sending thread is waiting (#9654)

This commit is contained in:
Uwe Krüger
2021-04-09 22:40:35 +02:00
committed by GitHub
parent 062ee4356d
commit bf9fe659a9
2 changed files with 39 additions and 1 deletions

View File

@@ -165,6 +165,9 @@ pub fn (mut ch Channel) close() {
}
C.atomic_store_u16(&ch.write_sub_mtx, u16(0))
ch.writesem.post()
if ch.cap == 0 {
C.atomic_store_ptr(&ch.read_adr, voidptr(0))
}
ch.writesem_im.post()
}