This is the mail archive of the
cygwin@sourceware.cygnus.com
mailing list for the Cygwin project.
Re: Multiple fopens fails with permission denied
- To: cygwin at sourceware dot cygnus dot com
- Subject: Re: Multiple fopens fails with permission denied
- From: Chris Faylor <cgf at cygnus dot com>
- Date: Thu, 16 Mar 2000 11:45:44 -0500
- References: <38D0B7F5.7D4529DB@netinsight.net>
- Reply-To: cygwin at sourceware dot cygnus dot com
I don't believe that Windows allows you to open a com port twice
with both read and write access.
The usual way to deal with this is to open the file with "w+b"
options. That provides a file pointer which can be both read to
and written from.
Be advised that the com port handling in B20.1 is not great, however.
cgf
On Thu, Mar 16, 2000 at 11:31:17AM +0100, Tomas Pihl wrote:
>I've installed B20.1 (full.exe) on a NT4.0 SP6 machine. When I try
>running the below included program I get:
>
>bash-2.02$ ./a.exe
>Couldn't open '/dev/com1' for input
>open: Permission denied
>
>It doesn't matter in which order I make the calls - fopen() always fail
>on the second fopen. Any ideas?
>
>int main()
>{
> FILE *fdin;
> FILE *fdout;
> char* device = "/dev/com1";
>
> if ((fdout = fopen(device, "wb")) == NULL) {
> printf("Couldn't open '%s' for output\n", device);
> perror("open");
> exit(1);
> }
> if ((fdin = fopen(device, "rb")) == NULL) {
> printf("Couldn't open '%s' for input\n", device);
> perror("open");
> exit(1);
> }
>}
>
>--
>Tomas Pihl Net Insight AB
>tomas.pihl@netinsight.net Box 42093, SE-126 14 STOCKHOLM, SWEDEN
>Phone: +46-8-685 04 95 Visiting address: Västberga Allé 9
>Fax: +46-8-685 04 20 http://www.netinsight.net
>
>--
>Want to unsubscribe from this list?
>Send a message to cygwin-unsubscribe@sourceware.cygnus.com
>
--
cgf@cygnus.com Cygnus Solutions, a Red Hat company
http://sourcware.cygnus.com/ http://www.redhat.com/
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com