I installed mon on Solaris10 box. Mon works great, but it do not record any
syslog messages.

I tried the following, but it did not work.

-----
http://www.mail-archive.com/mon@linux.kernel.org/msg02314.html

On Thu, 15 Jan 2009, Tom Lieuallen wrote:

    A while ago, I upgraded from mon-0.99.3-47 to mon-1.2.0.  I believe that
    was the time when I stopped getting syslog output from mon.

try the attached patch.

there's a wrapper func for syslog which is meant to catch an exception
if syslog throws one. however, it was inadvertently calling map{} on @_
which itself was throwing an exception because @_ is read-only.

--- /home/trockij/mon/export/mon-1.2.0/mon      2007-06-06 07:46:19.000000000
-0400
+++ mon-1.2.0/mon       2009-01-16 08:23:35.000000000 -0500
@@ -5394,7 +5394,8 @@
 sub syslog {
    eval {
        local $SIG{"__DIE__"}= sub { };
-       my @log = map { s/\%//mg; } @_;
+       my @log = @_;
+       map { s/\%//mg; } @log;
        Sys::Syslog::syslog(@log);
    }
 }
-----

So, I commented out line 270 also as follows;

# diff mon mon.org
270c270
< #    Sys::Syslog::setlogsock ('stream');
---
>     Sys::Syslog::setlogsock ('stream');
5397,5398c5397
<        my @log = @_;
<        map { s/\%//mg; } @log;
---
>        my @log = map { s/\%//mg; } @_;

Then it works. On my Solaris10 box, next block do something wrong?

elsif ($^O eq "solaris")
{
#    Sys::Syslog::setlogsock ('stream');
}

Is there any smart way?

Yanagi

_______________________________________________
mon mailing list
mon@linux.kernel.org
http://linux.kernel.org/mailman/listinfo/mon

Reply via email to