Change API from time to clock_gettime
authorJaeho Lee <jaeho81.lee@samsung.com>
Wed, 25 Sep 2013 04:51:11 +0000 (13:51 +0900)
committerJaeho Lee <jaeho81.lee@samsung.com>
Wed, 25 Sep 2013 04:54:12 +0000 (13:54 +0900)
Signed-off-by: Jaeho Lee <jaeho81.lee@samsung.com>
Change-Id: I6cb8111104cca53f376645598ec8826188c94f2d

alarm-manager-schedule.c
alarm-manager-timer.c
alarm-manager.c
include/alarm-internal.h
packaging/alarm-manager.spec

index a38eaaa..9cedebd 100755 (executable)
@@ -190,7 +190,7 @@ static time_t __alarm_next_duetime_once(__alarm_info_t *__alarm_info)
        alarm_info_t *alarm_info = &__alarm_info->alarm_info;
        alarm_date_t *start = &alarm_info->start;
 
-       time(&current_time);
+       _alarm_time(&current_time);
        localtime_r(&current_time, &duetime_tm);
        duetime_tm.tm_hour = start->hour;
        duetime_tm.tm_min = start->min;
@@ -222,7 +222,7 @@ static time_t __alarm_next_duetime_repeat(__alarm_info_t *__alarm_info)
        alarm_info_t *alarm_info = &__alarm_info->alarm_info;
        alarm_date_t *start = &alarm_info->start;
 
-       time(&current_time);
+       _alarm_time(&current_time);
        /*localtime_r(&current_time, &duetime_tm); */
 
        duetime_tm.tm_hour = start->hour;
@@ -262,7 +262,7 @@ static time_t __alarm_next_duetime_annually(__alarm_info_t *__alarm_info)
        alarm_info_t *alarm_info = &__alarm_info->alarm_info;
        alarm_date_t *start = &alarm_info->start;
 
-       time(&current_time);
+       _alarm_time(&current_time);
        localtime_r(&current_time, &duetime_tm);
        duetime_tm.tm_hour = start->hour;
        duetime_tm.tm_min = start->min;
@@ -295,7 +295,7 @@ static time_t __alarm_next_duetime_monthly(__alarm_info_t *__alarm_info)
        alarm_info_t *alarm_info = &__alarm_info->alarm_info;
        alarm_date_t *start = &alarm_info->start;
 
-       time(&current_time);
+       _alarm_time(&current_time);
        localtime_r(&current_time, &duetime_tm);
        duetime_tm.tm_hour = start->hour;
        duetime_tm.tm_min = start->min;
@@ -339,7 +339,7 @@ static time_t __alarm_next_duetime_weekly(__alarm_info_t *__alarm_info)
 
        alarm_mode_t *mode = &alarm_info->mode;
 
-       time(&current_time);
+       _alarm_time(&current_time);
        localtime_r(&current_time, &duetime_tm);
        wday = duetime_tm.tm_wday;
        duetime_tm.tm_hour = start->hour;
@@ -405,7 +405,7 @@ time_t _alarm_next_duetime(__alarm_info_t *__alarm_info)
        alarm_info_t *alarm_info = &__alarm_info->alarm_info;
        alarm_mode_t *mode = &alarm_info->mode;
 
-       time(&current_time);
+       _alarm_time(&current_time);
        cur_tm = localtime(&current_time);
        if (cur_tm->tm_isdst > 0)
                is_dst = 1;
@@ -459,7 +459,7 @@ static bool __find_next_alarm_to_be_scheduled(time_t *min_due_time)
        GSList *iter = NULL;
        __alarm_info_t *entry = NULL;
 
-       time(&current_time);
+       _alarm_time(&current_time);
 
        for (iter = alarm_context.alarms; iter != NULL;
             iter = g_slist_next(iter)) {
@@ -509,7 +509,7 @@ static bool __find_next_alarm_to_be_scheduled_power_on(time_t *min_due_time)
        struct tm *temp_info;
        GSList *iter = NULL;
 
-       time(&current_time);
+       _alarm_time(&current_time);
 
        tzset();                /*for portability tzset() need to be called
                                before locatime_r,refer manpage localtime_r*/
@@ -580,7 +580,7 @@ bool _alarm_schedule()
 
        int min = -1;
 
-       time(&current_time);
+       _alarm_time(&current_time);
 
        min_time = 0;
 
index 5e0f73b..9afeb3e 100755 (executable)
@@ -96,7 +96,7 @@ bool _alarm_set_timer(__alarm_server_context_t *alarm_context, timer_t timer,
        
        extern int errno;
 
-       time(&current_time);
+       _alarm_time(&current_time);
 
        interval = difftime(due_time, current_time);
        ALARM_MGR_LOG_PRINT("[alarm-server][timer]: remain time from "
@@ -157,3 +157,14 @@ int _set_time(time_t _time)
 
        return 0;
 }
+
+time_t _alarm_time(time_t *tp)
+{
+       struct timespec tspec;
+
+       clock_gettime(CLOCK_REALTIME, &tspec);
+
+       *tp = tspec.tv_sec;
+
+       return *tp;
+}
index 972a46b..db89e19 100755 (executable)
@@ -625,7 +625,7 @@ static bool __alarm_update_due_time_of_all_items_in_list(double diff_time)
                ALARM_MGR_LOG_PRINT("entry->due_time is %d\n", entry->due_time);
        }
 
-       time(&current_time);
+       _alarm_time(&current_time);
 
        for (iter = alarm_context.alarms; iter != NULL;
             iter = g_slist_next(iter)) {
@@ -762,7 +762,7 @@ static bool __alarm_create_appsvc(alarm_info_t *alarm_info, alarm_id_t *alarm_id
        memcpy(&(__alarm_info->alarm_info), alarm_info, sizeof(alarm_info_t));
        __alarm_generate_alarm_id(__alarm_info, alarm_id);
 
-       time(&current_time);
+       _alarm_time(&current_time);
 
        if (alarm_context.c_due_time < current_time) {
                ALARM_MGR_EXCEPTION_PRINT("Caution!! alarm_context.c_due_time "
@@ -918,7 +918,7 @@ static bool __alarm_create(alarm_info_t *alarm_info, alarm_id_t *alarm_id,
        memcpy(&(__alarm_info->alarm_info), alarm_info, sizeof(alarm_info_t));
        __alarm_generate_alarm_id(__alarm_info, alarm_id);
 
-       time(&current_time);
+       _alarm_time(&current_time);
 
        ALARM_MGR_LOG_PRINT("[alarm-server]:pid=%d, app_unique_name=%s, "
                "app_service_name=%s,dst_service_name=%s, c_due_time=%d", \
@@ -1022,7 +1022,7 @@ static bool __alarm_update(int pid, char *app_service_name, alarm_id_t alarm_id,
        __alarm_set_start_and_end_time(alarm_info, __alarm_info);
        memcpy(&(__alarm_info->alarm_info), alarm_info, sizeof(alarm_info_t));
 
-       time(&current_time);
+       _alarm_time(&current_time);
 
        if (alarm_context.c_due_time < current_time) {
                ALARM_MGR_EXCEPTION_PRINT("Caution!! alarm_context.c_due_time "
@@ -1199,7 +1199,7 @@ static bool __alarm_power_on(int app_id, bool on_off, int *error_code)
 
                        min_time = min_time - 60;
 
-                       time(&current_time);
+                       _alarm_time(&current_time);
 
                        if (min_time <= current_time)
                                min_time = current_time + 5;
@@ -1293,7 +1293,7 @@ static bool __alarm_check_next_duetime(int app_id, int *error_code)
        time_t current_time;
        time_t interval;
 
-       time(&current_time);
+       _alarm_time(&current_time);
 
        interval = ab_due_time - current_time;
 
@@ -1386,7 +1386,7 @@ static void __alarm_expired()
        time_t current_time;
        double interval;
 
-       time(&current_time);
+       _alarm_time(&current_time);
 
        interval = difftime(alarm_context.c_due_time, current_time);
        ALARM_MGR_LOG_PRINT("[alarm-server]: c_due_time(%d), "
@@ -1669,7 +1669,7 @@ static void __on_system_time_changed(keynode_t *node, void *data)
                vconf_get_int(VCONFKEY_SYSTEM_TIMECHANGE, (int *)&_time);
        }
 
-       time(&before);
+       _alarm_time(&before);
        diff_time = difftime(_time, before);
 
        tzset();
@@ -1719,7 +1719,7 @@ static void __on_system_time_external_changed(keynode_t *node, void *data)
        }
 
        tzset();
-       time(&cur_time);
+       _alarm_time(&cur_time);
 
        ALARM_MGR_EXCEPTION_PRINT("diff_time is %f, New time is %s\n", diff_time, ctime(&cur_time));
 
@@ -2890,7 +2890,7 @@ static bool __check_false_alarm()
        time_t current_time;
        time_t interval;
 
-       time(&current_time);
+       _alarm_time(&current_time);
 
        interval = ab_due_time - current_time;
 
index e6e1367..4f65c1f 100755 (executable)
@@ -217,6 +217,8 @@ bool _init_scheduled_alarm_list();
 int _set_rtc_time(time_t _time);
 int _set_sys_time(time_t _time);
 int _set_time(time_t _time);
+time_t _alarm_time(time_t *tp);
+
 
 
 #ifdef _DEBUG_MODE_
index 3d57c20..1d3b9ba 100755 (executable)
@@ -1,6 +1,6 @@
 Name:       alarm-manager
 Summary:    Alarm library
-Version:    0.4.85
+Version:    0.4.86
 Release:    1
 Group:      System/Libraries
 License:    Apache License, Version 2.0