* limitations under the License.
*/
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
#include <systemd/sd-daemon.h>
#include "media_controller_private.h"
#define MC_MAIN_TIMEOUT_SEC_60 60
-
static void __mc_main_create_timer(void);
static gboolean __mc_main_check_connection(gpointer user_data)
}
}
+static void __mc_main_create_daemon_launch_check_file(void)
+{
+ int fd;
+
+ if ((fd = creat(LAUNCH_CHECK_FILE, 0644)) < 0) {
+ mc_stderror("failed to create file");
+ return;
+ }
+
+ mc_debug("[%s] is created", LAUNCH_CHECK_FILE);
+ close(fd);
+}
+
int main(int argc, char **argv)
{
GThread *svc_thread = NULL;
#else
mc_debug("*** Media Controller Daemon is running [always] ***");
#endif
+ __mc_main_create_daemon_launch_check_file();
g_main_loop_run(g_mc_mainloop);
#endif
mc_cynara_finish();
+ unlink(LAUNCH_CHECK_FILE);
+
/* close socket */
close(fd);
extern "C" {
#endif /* __cplusplus */
+#define LAUNCH_CHECK_FILE tzplatform_mkpath(TZ_SYS_TMP, "media_controller_launch")
+
gpointer mc_svc_thread(void *data);
GMainLoop *mc_svc_get_main_loop(void);
int mc_svc_get_connection_cnt(void);
#include "media_controller_private.h"
#include "media_controller_db_util.h"
#include "media_controller_socket.h"
+#include "media_controller_svc.h"
int mc_ipc_create_client_socket(void)
{
if (connect(sock, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0) {
mc_stderror("connect failed");
close(sock);
+ if (access(LAUNCH_CHECK_FILE, F_OK) != 0)
+ mc_error("media controller damon hasn't started yet. You have to wait. If daemon starts, [%s] file will be created.", LAUNCH_CHECK_FILE);
+
return MEDIA_CONTROLLER_ERROR_INVALID_OPERATION;
}