return MS_MEDIA_ERR_NONE;
}
-static void __msc_add_event_receiver(void *data)
+static void __msc_add_event_receiver(void)
{
/*set power off callback function*/
ms_sys_set_poweroff_cb(__msc_power_off_cb, NULL);
GThread *storage_extract_thread = NULL;
GThread *folder_extract_thread = NULL;
GIOChannel *channel = NULL;
-
int err = -1;
int fd = -1;
MS_DBG_INFO("Scanner-V2 start");
- __msc_add_event_receiver(NULL);
+ __msc_add_event_receiver();
/*load functions from plusin(s)*/
err = ms_load_functions();
/*Init main loop*/
scanner_mainloop2 = g_main_loop_new(NULL, FALSE);
- /*Init for register file*/
- /*These are a communicator for thread*/
msc_init_scanner();
msc_init_extract_thread();
msc_init_scan_thread();
/* Create pipe */
- err = unlink(MS_SCANNER_FIFO_PATH_REQ);
- if (err != 0)
- MS_DBG_STRERROR("[No-Error] unlink failed");
+ if (g_file_test(MS_SCANNER_FIFO_PATH_REQ, G_FILE_TEST_EXISTS)) {
+ err = unlink(MS_SCANNER_FIFO_PATH_REQ);
+ if (err != 0)
+ MS_DBG_STRERROR("unlink failed");
+ }
err = mkfifo(MS_SCANNER_FIFO_PATH_REQ, MS_SCANNER_FIFO_MODE);
if (err != 0) {
msc_deinit_extract_thread();
msc_deinit_scan_thread();
- /*close pipe*/
close(fd);
- /*unload functions*/
ms_unload_functions();
EXIT:
int err = -1;
int fd = -1;
- /*set power off callback function*/
+ MS_DBG_INFO("SCANNER start");
+
ms_sys_set_poweroff_cb(__msc_power_off_cb, NULL);
/*load functions from plusin(s)*/
g_main_loop_run(scanner_mainloop);
+ ms_sys_unset_poweroff_cb();
+
g_thread_join(scan_thread);
g_thread_join(register_thread);
g_thread_join(storage_scan_thread);
msc_deinit_scanner();
- /*close pipe*/
+
close(fd);
- /*unload functions*/
+
ms_unload_functions();
- ms_sys_unset_poweroff_cb();
EXIT:
MS_DBG_INFO("SCANNER is shutting down");
return 0;
}
-