From 2e016f6cde89bf471269c89f0fd2bb40422ce204 Mon Sep 17 00:00:00 2001
From: Rickard Green <rickard@erlang.org>
Date: Thu, 26 Mar 2015 12:07:00 +0100
Subject: Misc fixes

---
 erts/emulator/beam/erl_time_sup.c      |   2 +-
 erts/emulator/beam/time.c              |   2 +-
 erts/emulator/sys/unix/sys_time.c      |  11 +----------
 erts/emulator/sys/win32/sys_time.c     |   2 +-
 erts/preloaded/ebin/erlang.beam        | Bin 105852 -> 105860 bytes
 erts/preloaded/ebin/erts_internal.beam | Bin 12368 -> 12408 bytes
 erts/preloaded/src/erlang.erl          |   2 +-
 erts/preloaded/src/erts_internal.erl   |  12 ++++++------
 8 files changed, 11 insertions(+), 20 deletions(-)

diff --git a/erts/emulator/beam/erl_time_sup.c b/erts/emulator/beam/erl_time_sup.c
index 8203436c85..bbdedcc128 100644
--- a/erts/emulator/beam/erl_time_sup.c
+++ b/erts/emulator/beam/erl_time_sup.c
@@ -1693,7 +1693,7 @@ static void
 send_time_offset_changed_notifications(void *new_offsetp)
 {
     ErtsMonotonicTime new_offset;
-    ErtsTimeOffsetMonitorInfo *to_mon_info;
+    ErtsTimeOffsetMonitorInfo *to_mon_info = NULL; /* Shut up faulty warning */
     Uint no_monitors;
     char *tmp = NULL;
 
diff --git a/erts/emulator/beam/time.c b/erts/emulator/beam/time.c
index 3dfd3f79d4..2bdda6c8af 100644
--- a/erts/emulator/beam/time.c
+++ b/erts/emulator/beam/time.c
@@ -576,7 +576,7 @@ erts_cancel_timer(ErlTimer *p)
 {
     ErtsTimerWheel *tiw;
     ErlCancelProc cancel;
-    void *arg;
+    void *arg = NULL; /* Shut up faulty warning... */
 
     tiw = get_timer_wheel(p);
     if (!tiw)
diff --git a/erts/emulator/sys/unix/sys_time.c b/erts/emulator/sys/unix/sys_time.c
index ea021a27cf..d535457977 100644
--- a/erts/emulator/sys/unix/sys_time.c
+++ b/erts/emulator/sys/unix/sys_time.c
@@ -410,11 +410,7 @@ erts_os_system_time(void)
 
     stime = (ErtsSystemTime) posix_clock_gettime(WALL_CLOCK_ID,
 						 WALL_CLOCK_ID_STR);
-#if defined(OS_MONOTONIC_TIME_USING_CLOCK_GETTIME)
-    return stime;
-#else
     return adj_stime_time_unit(stime, (Uint32) 1000*1000*1000);
-#endif
 }
 
 #endif /* defined(OS_SYSTEM_TIME_USING_CLOCK_GETTIME) */
@@ -516,8 +512,7 @@ ErtsMonotonicTime erts_os_monotonic_time(void)
 
 #if defined(OS_SYSTEM_TIME_USING_CLOCK_GETTIME)
 
-static void erts_os_times(ErtsMonotonicTime *mtimep,
-			  ErtsSystemTime *stimep)
+void erts_os_times(ErtsMonotonicTime *mtimep, ErtsSystemTime *stimep)
 {
     posix_clock_gettime_times(mtimep, stimep);
 }
@@ -627,11 +622,7 @@ erts_os_system_time(void)
     ErtsSystemTime stime;
     stime = (ErtsSystemTime) mach_clock_gettime(WALL_CLOCK_ID,
 						WALL_CLOCK_ID_STR);
-#if defined(OS_MONOTONIC_TIME_USING_MACH_CLOCK_GET_TIME)
-    return stime;
-#else
     return adj_stime_time_unit(stime, (Uint32) 1000*1000*1000);
-#endif
 }
 
 #endif /* defined(OS_SYSTEM_TIME_USING_MACH_CLOCK_GET_TIME) */
diff --git a/erts/emulator/sys/win32/sys_time.c b/erts/emulator/sys/win32/sys_time.c
index 7fe61084ce..b292d9279e 100644
--- a/erts/emulator/sys/win32/sys_time.c
+++ b/erts/emulator/sys/win32/sys_time.c
@@ -302,7 +302,7 @@ sys_init_time(ErtsSysInitTimeResult *init_resp)
 	internal_state.w.f.last_tick_count = 0;
 
 	init_resp->os_monotonic_time_info.func = "GetTickCount";
-	init_resp->os_monotonic_time_info.locked_use = 1;
+	init_resp->os_monotonic_time_info.locked_use = 0;
 	/* 10-16 ms resolution according to MicroSoft documentation */
 	init_resp->os_monotonic_time_info.resolution = 100; /* 10 ms */
 	time_unit = (ErtsMonotonicTime) 1000;
diff --git a/erts/preloaded/ebin/erlang.beam b/erts/preloaded/ebin/erlang.beam
index fcfcafa6da..b2550b938a 100644
Binary files a/erts/preloaded/ebin/erlang.beam and b/erts/preloaded/ebin/erlang.beam differ
diff --git a/erts/preloaded/ebin/erts_internal.beam b/erts/preloaded/ebin/erts_internal.beam
index 68fb357eb4..1663f044bf 100644
Binary files a/erts/preloaded/ebin/erts_internal.beam and b/erts/preloaded/ebin/erts_internal.beam differ
diff --git a/erts/preloaded/src/erlang.erl b/erts/preloaded/src/erlang.erl
index c5dc40f5d1..60ca02861a 100644
--- a/erts/preloaded/src/erlang.erl
+++ b/erts/preloaded/src/erlang.erl
@@ -1732,7 +1732,7 @@ start_timer(0, Dest, Msg) ->
 		orelse (erlang:is_atom(Dest)
 			andalso Dest /= undefined)),
 	TimerRef = erlang:make_ref(),
-	try Dest ! {timeout, TimerRef, Msg} catch _:_ -> ok end,
+	_ = try Dest ! {timeout, TimerRef, Msg} catch _:_ -> ok end,
 	TimerRef
     catch
 	_:_ ->
diff --git a/erts/preloaded/src/erts_internal.erl b/erts/preloaded/src/erts_internal.erl
index 2c701d75e4..3580fb542d 100644
--- a/erts/preloaded/src/erts_internal.erl
+++ b/erts/preloaded/src/erts_internal.erl
@@ -232,7 +232,7 @@ create_bif_timer() ->
 
 -spec erts_internal:access_bif_timer(Ref) -> Res when
       Ref :: reference(),
-      Res :: {reference(), pid(), reference()}.
+      Res :: {reference(), pid()} | 'undefined'.
 
 access_bif_timer(_Ref) ->
     erlang:nif_error(undefined).
@@ -352,7 +352,7 @@ tsrv_handle_msg({cancel_timeout, BTR, From, Reply, Req, TRef},
 		false ->
 		    ok;
 		_ ->
-		    try From ! {cancel_timer, Req, false} catch _:_ -> ok end
+		    _ = try From ! {cancel_timer, Req, false} catch _:_ -> ok end
 	    end,
 	    Nxt;
 	[{Time, TRef} = TKey] ->
@@ -370,7 +370,7 @@ tsrv_handle_msg({cancel_timeout, BTR, From, Reply, Req, TRef},
 			     false ->
 				 ((1000*(Time - RcvTime)) div Unit)
 			 end,
-		    try From ! {cancel_timer, Req, RT} catch _:_ -> ok end
+		    _ = try From ! {cancel_timer, Req, RT} catch _:_ -> ok end
 	    end,
 	    case Time =:= Nxt of
 		false ->
@@ -389,14 +389,14 @@ tsrv_handle_msg({read_timeout, BTR, From, Req, TRef},
 		Nxt) ->
     case ets:lookup(RTab, TRef) of
 	[] ->
-	    try From ! {read_timer, Req, false} catch _:_ -> ok end;
+	    _ = try From ! {read_timer, Req, false} catch _:_ -> ok end;
 	[{Time, TRef}] ->
 	    RcvTime = erlang:monotonic_time(),
 	    RT = case Time =< RcvTime of
 		     true -> 0;
 		     false -> (1000*(Time - RcvTime)) div Unit
 		 end,
-	    try From ! {read_timer, Req, RT} catch _:_ -> ok end
+	    _ = try From ! {read_timer, Req, RT} catch _:_ -> ok end
     end,
     Nxt;
 tsrv_handle_msg({'DOWN', TRef, process, _, _},
@@ -456,6 +456,6 @@ tsrv_handle_timeout(CallTime, #tsrv_state{rtab = RTab,
 	    end,
 	    ets:delete(TTab, TKey),
 	    ets:delete(RTab, TRef),
-	    try Proc ! Msg catch _:_ -> ok end,
+	    _ = try Proc ! Msg catch _:_ -> ok end,
 	    tsrv_handle_timeout(CallTime, S)
     end.
-- 
cgit v1.2.3