This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB 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: [RFA] new tcp_open


Outch!

>  /* Use Non-blocking connect.  connect() will return 0 if connected already. */
>   n = connect (scb->fd, (struct sockaddr *) &sockaddr, sizeof (sockaddr));
>   if (n)
>     {

Should this also be checking errno to confirm that it was EINPROGRESS? 
Little point in trying to connect to a socket that isn't valid.

>  t.tv_usec = 500000; /* 0.5 seconds */
> 	  
> 	  n = select (scb->fd + 1, &rset, &wset, NULL, &t);
> 	  secs++;
> 	} 
>       while (n == 0 && secs <= TIMEOUT);

Can I just suggest tinkering with this so that the 15 seconds is clearer 
- at present it happens cos 0.5 * 30 = 15.

>  /* While we wait for the connect to complete */
> 	  /* poll the UI so it can update or the user can */
> 	  /* interrupt. */

That should be a single comment block.

Could you please also add a comment to serial.h indicating that 
serial_open() has the potential to block so that the code must handle 
that and a true asynchronous open() interface may need to eventually be 
added to GDB.

The only other potential problem I can see is with FIONBIO.  Hopefully 
that is fairly common and where it turns out to not be available 
something can be worked out.

Tried it on cygwin?

Otherwise, yes approved.
Andrew


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