[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Mldonkey-commits] mldonkey distrib/ChangeLog src/utils/lib/syslog.ml
From: |
mldonkey-commits |
Subject: |
[Mldonkey-commits] mldonkey distrib/ChangeLog src/utils/lib/syslog.ml |
Date: |
Sun, 17 Jun 2007 01:24:28 +0000 |
CVSROOT: /sources/mldonkey
Module name: mldonkey
Changes by: spiralvoice <spiralvoice> 07/06/17 01:24:28
Modified files:
distrib : ChangeLog
src/utils/lib : syslog.ml
Log message:
patch #6010
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/mldonkey/distrib/ChangeLog?cvsroot=mldonkey&r1=1.1277&r2=1.1278
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/utils/lib/syslog.ml?cvsroot=mldonkey&r1=1.3&r2=1.4
Patches:
Index: distrib/ChangeLog
===================================================================
RCS file: /sources/mldonkey/mldonkey/distrib/ChangeLog,v
retrieving revision 1.1277
retrieving revision 1.1278
diff -u -b -r1.1277 -r1.1278
--- distrib/ChangeLog 17 Jun 2007 01:21:45 -0000 1.1277
+++ distrib/ChangeLog 17 Jun 2007 01:24:27 -0000 1.1278
@@ -15,6 +15,7 @@
=========
2007/06/17
+6010: Update syslog.ml to version 1.4
5995: EDK: Better handle permission denied errors for shared/downloading files
5992: BT/IP block: Fix country-based IP blocking
-------------------------------------------------------------------------------
Index: src/utils/lib/syslog.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/utils/lib/syslog.ml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- src/utils/lib/syslog.ml 6 Feb 2007 22:26:59 -0000 1.3
+++ src/utils/lib/syslog.ml 17 Jun 2007 01:24:28 -0000 1.4
@@ -185,6 +185,22 @@
in
(Printf.sprintf "%s %02d %02d:%02d:%02d" asc_mon mday hour min sec)
+let protected_write loginfo str =
+ let fallback _ =
+ (try close loginfo.fd with _ -> ());
+ loginfo.connected <- false;
+ (try open_connection loginfo with _ -> ());
+ if List.mem `LOG_CONS loginfo.flags then log_console str
+ in
+ let prev = Sys.signal Sys.sigpipe (Sys.Signal_handle fallback) in
+ try
+ ignore (write loginfo.fd str 0 (String.length str));
+ Sys.set_signal Sys.sigpipe prev
+ with Unix_error (_, _, _) ->
+ (* on error, attempt to reconnect *)
+ fallback ();
+ Sys.set_signal Sys.sigpipe prev
+
let syslog ?fac loginfo lev str =
let msg = Buffer.create 64 in
let realfac = match fac with
@@ -209,17 +225,7 @@
realmsg := String.sub !realmsg 0 1024;
String.blit "<truncated>" 0 !realmsg 1012 11
end;
- begin try
- ignore (Unix.write loginfo.fd !realmsg 0 (String.length !realmsg))
- with
- | Unix.Unix_error(_,_,_) -> (* on error, attempt to reconnect *)
- (try close loginfo.fd
- with _ -> ());
- loginfo.connected <- false;
- (try open_connection loginfo with _ -> ());
- if List.mem `LOG_CONS loginfo.flags then
- log_console !realmsg
- end;
+ protected_write loginfo !realmsg;
if List.mem `LOG_PERROR loginfo.flags then begin
try
ignore (Unix.write Unix.stderr !realmsg 0 (String.length !realmsg));
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/utils/lib/syslog.ml,
mldonkey-commits <=