summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2025-01-11 18:48:37 +0700
committerShulhan <ms@kilabit.info>2025-01-11 18:48:37 +0700
commita87283b9236f24f62b0a8936ba0b7232c0407c45 (patch)
tree304b62cc96b4432bccf3da0c376b353b5ac4506e
parentf0d019b04e9cab6ad00a2be4e7f99e9b1df15471 (diff)
downloadrescached-a87283b9236f24f62b0a8936ba0b7232c0407c45.tar.xz
go.mod: update all dependencies
-rw-r--r--cmd/rescached/main.go10
-rw-r--r--go.mod15
-rw-r--r--go.sum26
-rw-r--r--internal/cmd/www/main.go2
-rw-r--r--rescached.go43
5 files changed, 50 insertions, 46 deletions
diff --git a/cmd/rescached/main.go b/cmd/rescached/main.go
index 505e2b8..2ab18fe 100644
--- a/cmd/rescached/main.go
+++ b/cmd/rescached/main.go
@@ -128,19 +128,19 @@ func watchWww(env *rescached.Environment, running chan bool) {
tick = time.NewTicker(3 * time.Second)
isRunning = true
- dw *memfs.DirWatcher
+ changeq <-chan []*memfs.Node
nChanges int
err error
)
- dw, err = env.HttpdOptions.Memfs.Watch(memfs.WatchOptions{})
+ changeq, err = env.HttpdOptions.Memfs.Watch(memfs.WatchOptions{})
if err != nil {
log.Fatalf("%s: %s", logp, err)
}
for isRunning {
select {
- case <-dw.C:
+ case <-changeq:
nChanges++
case <-tick.C:
@@ -168,7 +168,7 @@ func watchWww(env *rescached.Environment, running chan bool) {
log.Printf("%s", err)
}
}
- dw.Stop()
+ env.HttpdOptions.Memfs.StopWatch()
running <- false
}
@@ -183,7 +183,7 @@ func watchWwwDoc() {
err error
)
- err = ciigo.Watch(&convertOpts)
+ err = ciigo.Watch(convertOpts)
if err != nil {
log.Fatalf("%s: %s", logp, err)
}
diff --git a/go.mod b/go.mod
index d2402c9..de4deda 100644
--- a/go.mod
+++ b/go.mod
@@ -3,19 +3,20 @@
module git.sr.ht/~shulhan/rescached
-go 1.22.0
+go 1.23.4
require (
- git.sr.ht/~shulhan/ciigo v0.13.2
- git.sr.ht/~shulhan/pakakeh.go v0.57.0
+ git.sr.ht/~shulhan/ciigo v0.15.0
+ git.sr.ht/~shulhan/pakakeh.go v0.59.0
)
require (
- git.sr.ht/~shulhan/asciidoctor-go v0.6.0 // indirect
- github.com/yuin/goldmark v1.7.4 // indirect
+ git.sr.ht/~shulhan/asciidoctor-go v0.6.2-0.20250106025231-ed20fc1c23e8 // indirect
+ github.com/yuin/goldmark v1.7.8 // indirect
github.com/yuin/goldmark-meta v1.1.0 // indirect
- golang.org/x/net v0.29.0 // indirect
- golang.org/x/sys v0.25.0 // indirect
+ golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect
+ golang.org/x/net v0.34.0 // indirect
+ golang.org/x/sys v0.29.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
)
diff --git a/go.sum b/go.sum
index 23015bd..326c3a1 100644
--- a/go.sum
+++ b/go.sum
@@ -1,17 +1,19 @@
-git.sr.ht/~shulhan/asciidoctor-go v0.6.0 h1:UepFox79vims2UqJGsQEoqLCrxhIHsk0YT2/H/fl+Oc=
-git.sr.ht/~shulhan/asciidoctor-go v0.6.0/go.mod h1:kUikWOI/WkTyRZrGfKDqevCplz40yOlQRynxAdMneAg=
-git.sr.ht/~shulhan/ciigo v0.13.2 h1:Apfj8Hj+sBgYcbm45PB5TDOMtvrtvkALPISCNVli9X4=
-git.sr.ht/~shulhan/ciigo v0.13.2/go.mod h1:iopkwqIQKSH2T05cmHI8FjJ1Rz4xbPBuBivEJzQmDgg=
-git.sr.ht/~shulhan/pakakeh.go v0.57.0 h1:4ReTu2KQqF7NPKgAVjXUTaHiu7tY/UXVosZYvHpUs9s=
-git.sr.ht/~shulhan/pakakeh.go v0.57.0/go.mod h1:+vUHUOSgUP0oG40gKb8YlQySSZHkywyL4eTA0v/OJWo=
-github.com/yuin/goldmark v1.7.4 h1:BDXOHExt+A7gwPCJgPIIq7ENvceR7we7rOS9TNoLZeg=
-github.com/yuin/goldmark v1.7.4/go.mod h1:uzxRWxtg69N339t3louHJ7+O03ezfj6PlliRlaOzY1E=
+git.sr.ht/~shulhan/asciidoctor-go v0.6.2-0.20250106025231-ed20fc1c23e8 h1:8qzcug5hnyz1QPVxCf9J3JhIzPSnc+zUK5VQachVQf0=
+git.sr.ht/~shulhan/asciidoctor-go v0.6.2-0.20250106025231-ed20fc1c23e8/go.mod h1:QOHiOctWAPcVlTMOKnnwmpnLrobkv7oNAPAf4gZjtWs=
+git.sr.ht/~shulhan/ciigo v0.15.0 h1:wUtCLNCkUg+he0qtu4Sass9cp7g9eSRivywwFxUe5bs=
+git.sr.ht/~shulhan/ciigo v0.15.0/go.mod h1:JsCkrOX3WKssLWGEaxMhXm1NMXdVi/J6cQEfp8fIEV8=
+git.sr.ht/~shulhan/pakakeh.go v0.59.0 h1:haUyuusXQ0YVgHbbhi46Nkl/CEPhRe+cIJz22kQFGuM=
+git.sr.ht/~shulhan/pakakeh.go v0.59.0/go.mod h1:UsrvzhSUJZpm1Aub99RI/XwtNnbBlJmaNoWWd9++VyI=
+github.com/yuin/goldmark v1.7.8 h1:iERMLn0/QJeHFhxSt3p6PeN9mGnvIKSpG9YYorDMnic=
+github.com/yuin/goldmark v1.7.8/go.mod h1:uzxRWxtg69N339t3louHJ7+O03ezfj6PlliRlaOzY1E=
github.com/yuin/goldmark-meta v1.1.0 h1:pWw+JLHGZe8Rk0EGsMVssiNb/AaPMHfSRszZeUeiOUc=
github.com/yuin/goldmark-meta v1.1.0/go.mod h1:U4spWENafuA7Zyg+Lj5RqK/MF+ovMYtBvXi1lBb2VP0=
-golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo=
-golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0=
-golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34=
-golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA=
+golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU=
+golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0=
+golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k=
+golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU=
+golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
diff --git a/internal/cmd/www/main.go b/internal/cmd/www/main.go
index 22b384b..32367fc 100644
--- a/internal/cmd/www/main.go
+++ b/internal/cmd/www/main.go
@@ -37,7 +37,7 @@ func main() {
IsDevelopment: true,
}
- var err = ciigo.Serve(&serveOpts)
+ var err = ciigo.Serve(serveOpts)
if err != nil {
log.Fatal(err)
}
diff --git a/rescached.go b/rescached.go
index e96a852..47701fb 100644
--- a/rescached.go
+++ b/rescached.go
@@ -10,11 +10,12 @@ import (
"log"
"os"
"sync"
+ "time"
"git.sr.ht/~shulhan/pakakeh.go/lib/debug"
"git.sr.ht/~shulhan/pakakeh.go/lib/dns"
"git.sr.ht/~shulhan/pakakeh.go/lib/http"
- "git.sr.ht/~shulhan/pakakeh.go/lib/memfs"
+ "git.sr.ht/~shulhan/pakakeh.go/lib/watchfs/v2"
)
// Version of program, overwritten by build.
@@ -24,7 +25,7 @@ var Version = `4.4.3`
type Server struct {
dns *dns.Server
env *Environment
- rcWatcher *memfs.Watcher
+ rcWatcher *watchfs.FileWatcher
httpd *http.Server
httpdRunner sync.Once
@@ -208,33 +209,33 @@ func (srv *Server) Stop() {
// watchResolvConf watch an update to file resolv.conf.
func (srv *Server) watchResolvConf() {
var (
- logp = "watchResolvConf"
+ logp = `watchResolvConf`
+ watchOpts = watchfs.FileWatcherOptions{
+ File: srv.env.FileResolvConf,
+ Interval: 5 * time.Second,
+ }
- ns memfs.NodeState
+ fi os.FileInfo
err error
+ ok bool
)
- srv.rcWatcher, err = memfs.NewWatcher(srv.env.FileResolvConf, 0)
- if err != nil {
- log.Fatalf("%s: %s", logp, err)
- }
+ srv.rcWatcher = watchfs.WatchFile(watchOpts)
- for ns = range srv.rcWatcher.C {
- switch ns.State {
- case memfs.FileStateDeleted:
+ for fi = range srv.rcWatcher.C {
+ if fi == nil {
log.Printf("= %s: file %q deleted\n", logp, srv.env.FileResolvConf)
return
- default:
- ok, err := srv.env.loadResolvConf()
- if err != nil {
- log.Printf("%s: %s", logp, err)
- break
- }
- if !ok {
- break
- }
+ }
- srv.dns.RestartForwarders(srv.env.NameServers)
+ ok, err = srv.env.loadResolvConf()
+ if err != nil {
+ log.Printf(`%s: %s`, logp, err)
+ break
+ }
+ if !ok {
+ break
}
+ srv.dns.RestartForwarders(srv.env.NameServers)
}
}