summaryrefslogtreecommitdiffstats
path: root/dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20220613132600-b0d781184e0d/mmap/manual_test_program.go
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 12:36:04 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 12:36:04 +0000
commitb09c6d56832eb1718c07d74abf3bc6ae3fe4e030 (patch)
treed2caec2610d4ea887803ec9e9c3cd77136c448ba /dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20220613132600-b0d781184e0d/mmap/manual_test_program.go
parentInitial commit. (diff)
downloadicingadb-b09c6d56832eb1718c07d74abf3bc6ae3fe4e030.tar.xz
icingadb-b09c6d56832eb1718c07d74abf3bc6ae3fe4e030.zip
Adding upstream version 1.1.0.upstream/1.1.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20220613132600-b0d781184e0d/mmap/manual_test_program.go56
1 files changed, 56 insertions, 0 deletions
diff --git a/dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20220613132600-b0d781184e0d/mmap/manual_test_program.go b/dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20220613132600-b0d781184e0d/mmap/manual_test_program.go
new file mode 100644
index 0000000..a1ab17b
--- /dev/null
+++ b/dependencies/pkg/mod/golang.org/x/exp@v0.0.0-20220613132600-b0d781184e0d/mmap/manual_test_program.go
@@ -0,0 +1,56 @@
+// Copyright 2015 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.
+
+//go:build ignore
+// +build ignore
+
+//
+// This build tag means that "go build" does not build this file. Use "go run
+// manual_test_program.go" to run it.
+//
+// You will also need to change "debug = false" to "debug = true" in mmap_*.go.
+
+package main
+
+import (
+ "log"
+ "math/rand"
+ "time"
+
+ "golang.org/x/exp/mmap"
+)
+
+var garbage []byte
+
+func main() {
+ const filename = "manual_test_program.go"
+
+ for _, explicitClose := range []bool{false, true} {
+ r, err := mmap.Open(filename)
+ if err != nil {
+ log.Fatalf("Open: %v", err)
+ }
+ if explicitClose {
+ r.Close()
+ } else {
+ // Leak the *mmap.ReaderAt returned by mmap.Open. The finalizer
+ // should pick it up, if finalizers run at all.
+ }
+ }
+
+ println("Finished all explicit Close calls.")
+ println("Creating and collecting garbage.")
+ println("Look for two munmap log messages.")
+ println("Hit Ctrl-C to exit.")
+
+ rng := rand.New(rand.NewSource(1))
+ now := time.Now()
+ for {
+ garbage = make([]byte, rng.Intn(1<<20))
+ if time.Since(now) > 1*time.Second {
+ now = time.Now()
+ print(".")
+ }
+ }
+}