Skip to content
Snippets Groups Projects
Commit 5bf9b63c authored by alexey.stratulat's avatar alexey.stratulat
Browse files

[*] Fixed work of CLI command handler.

parent 949f7314
No related branches found
No related tags found
3 merge requests!89hotfix-5549,!85Hotfix-5636,!82hotfix handler cli command
...@@ -100,12 +100,13 @@ void element_py_func_del_all(){ ...@@ -100,12 +100,13 @@ void element_py_func_del_all(){
} }
static int wrapping_cmdfunc(int argc, char **argv, char **str_reply){ static int wrapping_cmdfunc(int argc, char **argv, char **str_reply){
PyGILState_STATE state = PyGILState_Ensure();
size_t id_str_replay = elements_str_reply_add(str_reply); size_t id_str_replay = elements_str_reply_add(str_reply);
PyObject *obj_argv = stringToPyList(argc, argv); PyObject *obj_argv = stringToPyList(argc, argv);
PyObject *obj_id_str_replay = PyLong_FromSize_t(id_str_replay); PyObject *arglist = Py_BuildValue("On", obj_argv, id_str_replay);
PyObject *arglist = Py_BuildValue("OO", obj_argv, obj_id_str_replay); Py_INCREF(arglist);
Py_XINCREF(arglist);
PyObject *binden_obj_cmdfunc = element_py_func_get(argv[0]); PyObject *binden_obj_cmdfunc = element_py_func_get(argv[0]);
Py_INCREF(binden_obj_cmdfunc);
PyObject *result = PyObject_CallObject(binden_obj_cmdfunc, arglist); PyObject *result = PyObject_CallObject(binden_obj_cmdfunc, arglist);
if (!result){ if (!result){
log_it(L_DEBUG, "Function can't called"); log_it(L_DEBUG, "Function can't called");
...@@ -113,6 +114,8 @@ static int wrapping_cmdfunc(int argc, char **argv, char **str_reply){ ...@@ -113,6 +114,8 @@ static int wrapping_cmdfunc(int argc, char **argv, char **str_reply){
} }
Py_XDECREF(arglist); Py_XDECREF(arglist);
Py_XDECREF(obj_argv); Py_XDECREF(obj_argv);
Py_XDECREF(binden_obj_cmdfunc);
PyGILState_Release(state);
elements_str_reply_delete(id_str_replay); elements_str_reply_delete(id_str_replay);
return 0; return 0;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment