Merge branch 'tizen_3.0' into tizen
[platform/core/multimedia/libmm-session.git] / mm_session.c
index f37ff98..69d3ec7 100644 (file)
@@ -28,7 +28,6 @@
 #include <mm_error.h>
 #include <mm_debug.h>
 #include <errno.h>
-#include <glib.h>
 #include <pthread.h>
 #include <signal.h>
 
@@ -390,7 +389,8 @@ int _mm_session_util_write_information(int app_pid, int session_type, int flags)
        char filename[MAX_FILE_LENGTH];
        int result_info = 0;
 
-       if(session_type < MM_SESSION_TYPE_MEDIA || session_type >= MM_SESSION_TYPE_NUM) {
+       if ((session_type != MM_SESSION_TYPE_REPLACED_BY_STREAM) &&
+           (session_type < MM_SESSION_TYPE_MEDIA || session_type >= MM_SESSION_TYPE_NUM)) {
                return MM_ERROR_INVALID_ARGUMENT;
        }
        if(flags < 0) {
@@ -413,7 +413,7 @@ int _mm_session_util_write_information(int app_pid, int session_type, int flags)
 
        result_info = (flags) | (session_type << 16);
        write(fd, &result_info, sizeof(int));
-       if(0 > fchmod (fd, 00777)) {
+       if (0 > fchmod (fd, 00777)) {
                debug_error("fchmod failed with %d", errno);
        } else {
                debug_warning("write session information(%x) to /tmp/mm_session_%d", result_info, mypid);
@@ -465,7 +465,7 @@ int _mm_session_util_read_information(int app_pid, int *session_type, int *flags
 
 void __session_signal_handler(int signo)
 {
-       char* filename = NULL;
+       char filename[MAX_FILE_LENGTH];
        char str_error[256];
 
        debug_warning("ENTER, sig.num(%d)", signo);
@@ -475,16 +475,14 @@ void __session_signal_handler(int signo)
        sigfillset(&all_mask);
        sigprocmask(SIG_BLOCK, &all_mask, &old_mask);
 
-       filename = g_strdup_printf("/tmp/mm_session_%d", getpid());
+       snprintf(filename, sizeof(filename) - 1, "/tmp/mm_session_%d", getpid());
        if (!remove(filename)) {
                debug_log(" remove %s success\n", filename);
        } else {
-               strerror_r (errno, str_error, sizeof (str_error));
+               strerror_r(errno, str_error, sizeof(str_error));
                debug_error(" remove %s failed with %s\n", filename, str_error);
        }
 
-       g_free(filename);
-
        sigprocmask(SIG_SETMASK, &old_mask, NULL);
        /* signal unblock ------------ */