package main

import (
	"net"
	"os"
	"time"
)

// dinleBaglan: dinleAdres portunu alir. Guncelleme sonrasi baslatilan surec (guncellemeBayrak=1),
// eski surec portu birakana kadar yaklasik 30 sn boyunca dener. Normal acilista tek deneme yapar.
func dinleBaglan() (net.Listener, error) {
	denemeSayisi := 1
	if os.Getenv(guncellemeBayrak) == "1" {
		denemeSayisi = 60
	}
	var hata error
	for i := 0; i < denemeSayisi; i++ {
		ln, err := net.Listen("tcp", dinleAdres)
		if err == nil {
			return ln, nil
		}
		hata = err
		time.Sleep(500 * time.Millisecond)
	}
	return nil, hata
}
