mirror of
https://github.com/jhillyerd/inbucket.git
synced 2025-12-17 17:47:03 +00:00
- All packages go into either cmd or pkg directories - Most packages renamed - Server packages moved into pkg/server - sanitize moved into webui, as that's the only place it's used - filestore moved into pkg/storage/file - Makefile updated, and PKG variable use fixed
32 lines
798 B
Go
32 lines
798 B
Go
// +build !windows
|
|
|
|
package log
|
|
|
|
import (
|
|
"golang.org/x/sys/unix"
|
|
"os"
|
|
)
|
|
|
|
// closeStdin will close stdin on Unix platforms - this is standard practice
|
|
// for daemons
|
|
func closeStdin() {
|
|
if err := os.Stdin.Close(); err != nil {
|
|
// Not a fatal error
|
|
Errorf("Failed to close os.Stdin during log setup")
|
|
}
|
|
}
|
|
|
|
// reassignStdout points stdout/stderr to our logfile on systems that support
|
|
// the Dup2 syscall per https://github.com/golang/go/issues/325
|
|
func reassignStdout() {
|
|
Tracef("Unix reassignStdout()")
|
|
if err := unix.Dup2(int(logf.Fd()), 1); err != nil {
|
|
// Not considered fatal
|
|
Errorf("Failed to re-assign stdout to logfile: %v", err)
|
|
}
|
|
if err := unix.Dup2(int(logf.Fd()), 2); err != nil {
|
|
// Not considered fatal
|
|
Errorf("Failed to re-assign stderr to logfile: %v", err)
|
|
}
|
|
}
|