This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: remote syslog support in Redboot?


On Wed, May 09, 2007 at 03:12:29PM -0400, Jon Ringle wrote:
> Has anyone implemented the ability to have diag_printf() messages be
> sent to a remote syslog server in Redboot/ecos?

You will have to be careful when doing this. diag_printf() uses a very
simple polled IO, blocking serial device driver. The idea is that it
should always work, in any context. So you can do a diag_printf() in
an ISR or a DSR, not just a thread. It is also guaranteed the output
will be out the serial port before diag_printf() returns. 

If you somehow modify diag_printf to send over a network stack it is
unlikely you can keep these properties. I would suggest you look at
adding a standard syslog interface, eg:

       #include <syslog.h>

       void openlog(const char *ident, int option, int facility);
       void syslog(int priority, const char *format, ...);
       void closelog(void);

       #define _BSD_SOURCE
       #include <stdarg.h>

       void vsyslog(int priority, const char *format, va_list ap);

and don't modify diag_printf().

    Andrew



-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]