argv = new_argv;
} else if (strncmp(str_array[i], SDK_ATTACH,
strlen(str_array[i])) == 0) {
+ if (argv[0])
+ free(argv[0]);
+ bundle_free_exported_argv(argc, &argv);
+ *margc = 0;
path = bundle_get_val(kb, DLP_K_GDBSERVER_PATH);
if (path == NULL) {
_E("Failed to get gdbserver path");
- if (argv[0])
- free(argv[0]);
- bundle_free_exported_argv(argc, &argv);
- *margc = 0;
return NULL;
}
new_argv = __add_arg(kb, argv, &argc, DLP_K_ATTACH_ARG);
new_argv[0] = strdup(path);
argv = new_argv;
}
-
}
*margc = argc;
return FALSE;
}
+static void __glib_finalize(GSource *src)
+{
+ GSList *fd_list;
+ GPollFD *gpollfd;
+
+ fd_list = src->poll_fds;
+ do {
+ gpollfd = (GPollFD *)fd_list->data;
+ close(gpollfd->fd);
+ g_free(gpollfd);
+
+ fd_list = fd_list->next;
+ } while (fd_list);
+}
+
static GSourceFuncs funcs = {
.prepare = __glib_prepare,
.check = __glib_check,
.dispatch = __glib_dispatch,
- .finalize = NULL
+ .finalize = __glib_finalize
};
static int __poll_fd(int fd, GSourceFunc callback)