[openib-general] win related [was: Re: [PATCH 1/2] opensm: sigusr1: syslog() fixes]

Sasha Khapyorsky sashak at voltaire.com
Wed Jan 17 16:42:24 PST 2007


On 18:24 Thu 11 Jan     , Yevgeny Kliteynik wrote:
> Hi Sasha,
> 
> Sasha Khapyorsky wrote:
> > Hi Yevgeny,
> > 
> > On 09:47 Wed 10 Jan     , Yevgeny Kliteynik wrote:
> >> Hi Sasha,
> >>
> >> Sasha Khapyorsky wrote:
> >>> Hi Yevgeny,
> >>>
> >>> On 12:05 Tue 09 Jan     , Yevgeny Kliteynik wrote:
> >>>> Hi Sasha.
> >>>> Thanks for spotting this issue - I missed it when I reviewed the patch.
> >>>> Here's how things look in windows:
> >>>>  * openlog() and closelog() are redefined to nothing in windows config header
> >>>>  * cl_log_event() implementation on windows does all the work - gets handler
> >>>>    to event log, logs the message, and closes the handler.
> >>>>    It does *not* uses syslog().
> >>>>
> >>>> To use syslog/sysopen/sysclose on windows, a user have to install some 
> >>>> package (e.g. "Interix") that provides various daemons (such as syslogd), 
> >>>> similar to Linux/Unix:
> >>>> 	http://msdn2.microsoft.com/en-us/library/ms811897.aspx#ucmgch10_topic12
> >>>> 	http://www.interix.com/
> >>> And this is not done for WinOpenSM now. Is this would be useful option? I
> >>> guess this could solve a lot of compatibility problems and simplify the
> >>> porting dramatically, right?
> >> I'll address this question to the windows guys. But I seriously doubt that
> >> they would want to make OSM depend on some third-party product, whether it
> >> is commercial or free.
> > 
> > I doubt too :(. But ask them if it is not too hard. Interesting, how
> > WinOSM development works? AFAIK it is open source and published on the
> > net. Who is the maintainer? Is there any active mailing list?
> 
> If the product is commercial, then the answer is no. If it is free,
> then there might be some license issues that may cause problems. But 
> theoretically, if there would be some high-quality free product than 
> will not pose any legal problems distributing it, and if it will be 
> *really* useful (not just for logging functions), then it's possible.

So what do you mean - "Interix" has (or may have) legal issues if it
will be used with OpenSM?

What about pure opensource - http://sourceware.org/pthreads-win32/? It
is licensed under LGPL, I see on the net many positive reports about
stability and usability.

> As for the mailing list it's openib-windows at openib.org. You can access
> it here:   http://openib.org/mailman/listinfo/openib-windows
> 
> >>>> So replacing cl_log_event() with syslog() would definitely cause a problem.
> >>>>
> >>>> A (pretty ugly) solution can be writing a wrapper function to cl_log_event() 
> >>>> on windows and redefining syslog() to use this wrapper.
> >>> Like #define syslog() cl_log_event() ? Not so ugly (better than
> >>> combination of openlog()/closelog() and "unrelated" cl_log_event()),
> >>> and perfectly simple IMO.
> >> "#define syslog() cl_log_event()" will not do the job, since these functions 
> >> have different definitios:
> >> 	syslog(int priority, char *message, ...);
> >> 	cl_log_event(char*, cl_log_type_t, char*, void*, uint32_t);
> >> so there should be wrapper just for windows that will prepare the message
> >> for cl_log_event() as a single string.
> > 
> > Understood.
> > 
> > And what the purpose of:
> > 
> >   #ifdef WIN32
> >         OsmReportState(buffer);
> >   #endif /* WIN32 */
> > 
> > in osm_log() (right after cl_log_event()/syslog())?
> 
> It reports SM states when SM is running as window service.

Could this be moved from common code into syslog() wrapper?

Sasha




More information about the general mailing list