OXIESEC PANEL
- Current Dir:
/
/
opt
/
golang
/
1.22.0
/
test
/
chan
Server IP: 191.96.63.230
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
02/02/2024 06:09:55 PM
rwxr-xr-x
📄
doubleselect.go
1.96 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
fifo.go
896 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
goroutines.go
743 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
nonblock.go
3.93 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
perm.go
1.39 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
powser1.go
12.66 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
powser2.go
13.29 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
select.go
913 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
select2.go
1.04 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
select3.go
4.07 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
select4.go
513 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
select5.go
9.97 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
select6.go
783 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
select7.go
932 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
select8.go
826 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
sendstmt.go
672 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
sieve1.go
1.49 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
sieve2.go
3.88 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerosize.go
349 bytes
02/02/2024 06:09:55 PM
rw-r--r--
Editing: fifo.go
Close
// run // Copyright 2009 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // Test that unbuffered channels act as pure fifos. package main import "os" const N = 10 func AsynchFifo() { ch := make(chan int, N) for i := 0; i < N; i++ { ch <- i } for i := 0; i < N; i++ { if <-ch != i { print("bad receive\n") os.Exit(1) } } } func Chain(ch <-chan int, val int, in <-chan int, out chan<- int) { <-in if <-ch != val { panic(val) } out <- 1 } // thread together a daisy chain to read the elements in sequence func SynchFifo() { ch := make(chan int) in := make(chan int) start := in for i := 0; i < N; i++ { out := make(chan int) go Chain(ch, i, in, out) in = out } start <- 0 for i := 0; i < N; i++ { ch <- i } <-in } func main() { AsynchFifo() SynchFifo() }