This is the mail archive of the cygwin@sources.redhat.com mailing list for the Cygwin project.


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

Re: serial programming HOWTO


On Sun, Nov 12, 2000 at 09:24:12PM +0100, Frank Wagner wrote:
>I encountered something confusing.
>This part of c-sourccode is from the asynchronous input example included
>in the serial programming HOWTO document:
>
> /* install the signal handler before making the device asynchronous */
> saio.sa_handler = signal_handler_IO;
> saio.sa_mask = 0;
> saio.sa_flags = 0;
> saio.sa_restorer = NULL;
> sigaction(SIGIO,&saio,NULL);
>
>I tried to compile this example under Win95 with cygwin and got the
>following error:
>
>  ! program.c:41: structure has no member named `sa_restorer'
>
>OK. There was no declaration of "sa_restorer" in the file /sys/signal.h.
>Why?

From the linux man page:

       "The sa_restorer element is  obsolete  and  should  not  be
       used."

It's also not mentioned in the Single UNIX Specification.

>After that I tried to compile that example under Linux and got the
>follwing error message
>
>program.c: 39 incompatible types in assignment --dir=.
>
>that refers to the folloing line of the source:
>
> saio.sa_mask = 0;
>
>Why do I get a error message form an example that is written for linux?

Because cygwin is not linux?  The above use of saio.sa_mask is
incorrect.  You should be using sigemptyset() to clear the mask.  This
will also work on linux.

cgf

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com


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