vmm_influxd_stats: more safety
This commit is contained in:
parent
791752f2b9
commit
3017adb6c4
|
@ -178,11 +178,11 @@ let rec read_sock_write_tcp db c ?fd addr addrtype =
|
||||||
| Error e ->
|
| Error e ->
|
||||||
Logs.err (fun m -> m "error %s while reading vmm socket (return)"
|
Logs.err (fun m -> m "error %s while reading vmm socket (return)"
|
||||||
(str_of_e e)) ;
|
(str_of_e e)) ;
|
||||||
Lwt.return_unit
|
safe_close fd
|
||||||
| Ok (hdr, data) ->
|
| Ok (hdr, data) ->
|
||||||
if not (version_eq hdr.version my_version) then begin
|
if not (version_eq hdr.version my_version) then begin
|
||||||
Logs.err (fun m -> m "unknown wire protocol version") ;
|
Logs.err (fun m -> m "unknown wire protocol version") ;
|
||||||
Lwt.return_unit
|
safe_close fd
|
||||||
end else
|
end else
|
||||||
let name = IM.find hdr.id !req in
|
let name = IM.find hdr.id !req in
|
||||||
req := IM.remove hdr.id !req ;
|
req := IM.remove hdr.id !req ;
|
||||||
|
@ -256,10 +256,10 @@ let client stat_socket influxhost influxport db prefix interval =
|
||||||
(* loop *)
|
(* loop *)
|
||||||
let rec loop c =
|
let rec loop c =
|
||||||
Lwt.catch (fun () ->
|
Lwt.catch (fun () ->
|
||||||
Lwt.pick [
|
Lwt.pick [ query_sock prefix db c interval ; read_sock_write_tcp db c addr addrtype ] >>= fun () ->
|
||||||
query_sock prefix db c interval ;
|
safe_close c >>= fun () ->
|
||||||
read_sock_write_tcp db c addr addrtype
|
maybe_connect stat_socket >>= fun c ->
|
||||||
])
|
loop c)
|
||||||
(fun _ ->
|
(fun _ ->
|
||||||
safe_close c >>= fun () ->
|
safe_close c >>= fun () ->
|
||||||
maybe_connect stat_socket >>= fun c ->
|
maybe_connect stat_socket >>= fun c ->
|
||||||
|
|
Loading…
Reference in a new issue