Skip to content

Commit 7d22bf4

Browse files
committed
fix "double asking to reload" bugs in an unsatisfying one
I don't know why it was logged twice, but using the tricks of "Asking browserS to reload" I can make it log only once. Signed-off-by: Paul-Elliot <[email protected]>
1 parent 762a091 commit 7d22bf4

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

compiler/src/bin/native/serve.ml

+4-3
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,11 @@ let do_serve input f =
4242
@@ Dream.router
4343
[
4444
Dream.get "/" (fun _ ->
45-
Dream.log "Browser reloaded";
45+
Dream.log "A browser reloaded";
4646
Dream.html !content);
4747
Dream.get "/_livereload" (fun _ ->
4848
Dream.websocket (fun socket ->
4949
let* () = !waiter in
50-
Dream.log "Asking browser to reload";
5150
Dream.close_websocket socket));
5251
]
5352
in
@@ -56,10 +55,12 @@ let do_serve input f =
5655
content := new_content;
5756
let* _event = Lwt_inotify.read inotify in
5857
Logs.app (fun m -> m "Recompiling");
59-
Lwt.wakeup_later !resolver ();
58+
let old_resolver = !resolver in
6059
let nwaiter, nresolver = Lwt.wait () in
6160
waiter := nwaiter;
6261
resolver := nresolver;
62+
Dream.log "Asking browsers to reload";
63+
Lwt.wakeup_later old_resolver ();
6364
loop ()
6465
in
6566
loop ()

0 commit comments

Comments
 (0)