Bläddra i källkod

panic: uninstall plugins

Yeuoly 6 månader sedan
förälder
incheckning
2eb1e2c09f
1 ändrade filer med 15 tillägg och 5 borttagningar
  1. 15 5
      internal/core/plugin_manager/local_runtime/run.go

+ 15 - 5
internal/core/plugin_manager/local_runtime/run.go

@@ -106,15 +106,25 @@ func (r *LocalPluginRuntime) StartPlugin() error {
 
 	defer func() {
 		// wait for plugin to exit
-		err = e.Wait()
-		if err != nil {
+		originalErr := e.Wait()
+		if originalErr != nil {
 			// get stdio
 			var err error
 			if stdio != nil {
-				err = stdio.Error()
+				stdioErr := stdio.Error()
+				if stdioErr != nil {
+					err = errors.Join(originalErr, stdioErr)
+				} else {
+					err = originalErr
+				}
+			} else {
+				err = originalErr
+			}
+			if err != nil {
+				log.Error("plugin %s exited with error: %s", r.Config.Identity(), err.Error())
+			} else {
+				log.Error("plugin %s exited with unknown error", r.Config.Identity())
 			}
-			err = errors.Join(err, err)
-			log.Error("plugin %s exited with error: %s", r.Config.Identity(), err.Error())
 		}
 
 		r.gc()