* net.cc (cygwin_bindresvport_sa): Fix usage of last_used_bindresvport.

This commit is contained in:
Corinna Vinschen
2008-06-24 13:13:44 +00:00
parent 6b9b8ecd85
commit 7b3e3bfd49
2 changed files with 6 additions and 2 deletions

View File

@ -2219,9 +2219,9 @@ cygwin_bindresvport_sa (int fd, struct sockaddr *sa)
for (int i = 0; i < NUM_PORTS; i++)
{
while ((myport = InterlockedExchange (&cygwin_shared->last_used_bindresvport, 0)) == 0)
while ((myport = InterlockedExchange (&cygwin_shared->last_used_bindresvport, -1)) == -1)
low_priority_sleep (0);
if (--myport < PORT_LOW)
if (myport == 0 || --myport < PORT_LOW)
myport = PORT_HIGH;
InterlockedExchange (&cygwin_shared->last_used_bindresvport, myport);