Even though PyRun_String() failed, just 0 will be returned but we need to return -1 that means error status, so fix it.
Signed-off-by: Taeung Song <treeze.tae...@gmail.com> --- plugin_python.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/plugin_python.c b/plugin_python.c index 2997679..dcfad0f 100644 --- a/plugin_python.c +++ b/plugin_python.c @@ -24,7 +24,7 @@ static int load_plugin(struct pevent *pevent, const char *path, const char *name, void *data) { PyObject *globals = data; - int err; + int err, ret = 0; int len = strlen(path) + strlen(name) + 2; int nlen = strlen(name) + 1; char *full = malloc(len); @@ -50,12 +50,13 @@ static int load_plugin(struct pevent *pevent, const char *path, if (!res) { fprintf(stderr, "failed loading %s\n", full); PyErr_Print(); + ret = -1; } else Py_DECREF(res); free(load); - return 0; + return ret; } int PEVENT_PLUGIN_LOADER(struct pevent *pevent) -- 2.7.4