Browse Source

Close Lua plugins on reload

master
Simon Ser 4 years ago
parent
commit
b014c1898f
No known key found for this signature in database GPG Key ID: FDE7BE0E88F5E48
1 changed files with 11 additions and 2 deletions
  1. +11
    -2
      server.go

+ 11
- 2
server.go View File

@@ -18,8 +18,9 @@ type Server struct {
e *echo.Echo
Sessions *SessionManager

mutex sync.RWMutex // used for server reload
plugins []Plugin
mutex sync.RWMutex // used for server reload
plugins []Plugin
luaPlugins []Plugin

imap struct {
host string
@@ -98,7 +99,15 @@ func (s *Server) load() error {
s.mutex.Lock()
defer s.mutex.Unlock()

// Close previous Lua plugins
for _, p := range s.luaPlugins {
if err := p.Close(); err != nil {
s.e.Logger.Printf("Failed to unload plugin '%v': %v", p.Name(), err)
}
}

s.plugins = plugins
s.luaPlugins = luaPlugins
s.e.Renderer = renderer

for _, p := range plugins {


Loading…
Cancel
Save