1.7.0-67: syslog() not working properly - possible bug in writev() ?

Christian Franke Christian.Franke@t-online.de
Wed Dec 2 11:08:00 GMT 2009


Corinna Vinschen wrote:
> On Dec  2 10:31, Christian Franke wrote:
> > I presume that the root of the problem is that the
> > 
> > writev(fd, { {"< PRI >", . }, { "MSG", . } }, 2) 
> > used within syslog() sends "< PRI >" and "MSG" in
> > two separate datagrams to /dev/log.
> > 
> 
> Probably not.  The "kernel:" message is generated if something is
> available on /dev/kmsg, which shouldn't be the case.  The only message
> type generated there are exceptions catched by Cygwin.  I'll have a
> look into it.  Thanks for the report.
> 
> 

Another test:

This sends one UDP package on 1.5, but two on 1.7:

     int sd = socket(AF_LOCAL, SOCK_DGRAM, 0);

     struct sockaddr_un sa; sa.sun_family = AF_LOCAL;
     strcpy(sa.sun_path, "/dev/log");
     connect(sd, (struct sockaddr *)&sa, sizeof(sa));

     struct iovec iv[2] = { { "<1>", 3 }, { "test: text", 10 } };
     writev(sd, iv, 2);

Christian




--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list