concurrentConnections_freebsd.go 549 B

12345678910111213141516171819202122232425
  1. //go:build freebsd
  2. // +build freebsd
  3. package chat
  4. import (
  5. "syscall"
  6. log "github.com/sirupsen/logrus"
  7. )
  8. func setSystemConcurrentConnectionLimit(limit uint64) {
  9. var rLimit syscall.Rlimit
  10. if err := syscall.Getrlimit(syscall.RLIMIT_NOFILE, &rLimit); err != nil {
  11. log.Fatalln(err)
  12. }
  13. originalLimit := rLimit.Cur
  14. rLimit.Cur = int64(limit)
  15. if err := syscall.Setrlimit(syscall.RLIMIT_NOFILE, &rLimit); err != nil {
  16. log.Fatalln(err)
  17. }
  18. log.Traceln("Max process connection count changed from system limit of", originalLimit, "to", limit)
  19. }