Linux id-dci-web1412.main-hosting.eu 5.14.0-611.20.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jan 14 06:35:04 EST 2026 x86_64
LiteSpeed
: 2a02:4780:6:1512:0:19fc:adf1:2 | : 216.73.216.85
Cant Read [ /etc/named.conf ]
8.1.34
u435990001
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
opt /
go /
pkg /
mod /
github.com /
go-kit /
log@v0.2.1 /
[ HOME SHELL ]
Name
Size
Permission
Action
.github
[ DIR ]
dr-xr-xr-x
level
[ DIR ]
dr-xr-xr-x
syslog
[ DIR ]
dr-xr-xr-x
term
[ DIR ]
dr-xr-xr-x
.gitignore
269
B
-r--r--r--
LICENSE
1.04
KB
-r--r--r--
README.md
5.19
KB
-r--r--r--
benchmark_test.go
443
B
-r--r--r--
concurrency_test.go
653
B
-r--r--r--
doc.go
5.23
KB
-r--r--r--
example_test.go
2.71
KB
-r--r--r--
go.mod
82
B
-r--r--r--
go.sum
173
B
-r--r--r--
json_logger.go
2.03
KB
-r--r--r--
json_logger_test.go
4.61
KB
-r--r--r--
log.go
6.32
KB
-r--r--r--
log_test.go
8.65
KB
-r--r--r--
logfmt_logger.go
1.34
KB
-r--r--r--
logfmt_logger_test.go
1.38
KB
-r--r--r--
nop_logger.go
206
B
-r--r--r--
nop_logger_test.go
502
B
-r--r--r--
staticcheck.conf
17
B
-r--r--r--
stdlib.go
4.16
KB
-r--r--r--
stdlib_test.go
9.26
KB
-r--r--r--
sync.go
3.18
KB
-r--r--r--
sync_test.go
1.99
KB
-r--r--r--
value.go
3.33
KB
-r--r--r--
value_test.go
3.84
KB
-r--r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : sync.go
package log import ( "io" "sync" "sync/atomic" ) // SwapLogger wraps another logger that may be safely replaced while other // goroutines use the SwapLogger concurrently. The zero value for a SwapLogger // will discard all log events without error. // // SwapLogger serves well as a package global logger that can be changed by // importers. type SwapLogger struct { logger atomic.Value } type loggerStruct struct { Logger } // Log implements the Logger interface by forwarding keyvals to the currently // wrapped logger. It does not log anything if the wrapped logger is nil. func (l *SwapLogger) Log(keyvals ...interface{}) error { s, ok := l.logger.Load().(loggerStruct) if !ok || s.Logger == nil { return nil } return s.Log(keyvals...) } // Swap replaces the currently wrapped logger with logger. Swap may be called // concurrently with calls to Log from other goroutines. func (l *SwapLogger) Swap(logger Logger) { l.logger.Store(loggerStruct{logger}) } // NewSyncWriter returns a new writer that is safe for concurrent use by // multiple goroutines. Writes to the returned writer are passed on to w. If // another write is already in progress, the calling goroutine blocks until // the writer is available. // // If w implements the following interface, so does the returned writer. // // interface { // Fd() uintptr // } func NewSyncWriter(w io.Writer) io.Writer { switch w := w.(type) { case fdWriter: return &fdSyncWriter{fdWriter: w} default: return &syncWriter{Writer: w} } } // syncWriter synchronizes concurrent writes to an io.Writer. type syncWriter struct { sync.Mutex io.Writer } // Write writes p to the underlying io.Writer. If another write is already in // progress, the calling goroutine blocks until the syncWriter is available. func (w *syncWriter) Write(p []byte) (n int, err error) { w.Lock() defer w.Unlock() return w.Writer.Write(p) } // fdWriter is an io.Writer that also has an Fd method. The most common // example of an fdWriter is an *os.File. type fdWriter interface { io.Writer Fd() uintptr } // fdSyncWriter synchronizes concurrent writes to an fdWriter. type fdSyncWriter struct { sync.Mutex fdWriter } // Write writes p to the underlying io.Writer. If another write is already in // progress, the calling goroutine blocks until the fdSyncWriter is available. func (w *fdSyncWriter) Write(p []byte) (n int, err error) { w.Lock() defer w.Unlock() return w.fdWriter.Write(p) } // syncLogger provides concurrent safe logging for another Logger. type syncLogger struct { mu sync.Mutex logger Logger } // NewSyncLogger returns a logger that synchronizes concurrent use of the // wrapped logger. When multiple goroutines use the SyncLogger concurrently // only one goroutine will be allowed to log to the wrapped logger at a time. // The other goroutines will block until the logger is available. func NewSyncLogger(logger Logger) Logger { return &syncLogger{logger: logger} } // Log logs keyvals to the underlying Logger. If another log is already in // progress, the calling goroutine blocks until the syncLogger is available. func (l *syncLogger) Log(keyvals ...interface{}) error { l.mu.Lock() defer l.mu.Unlock() return l.logger.Log(keyvals...) }
Close