Changeset 2354 for trunk/packages/vizservers/nanoscale/server2.c
- Timestamp:
- Aug 14, 2011, 10:59:03 AM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/packages/vizservers/nanoscale/server2.c
r2347 r2354 352 352 hPtr = Tcl_NextHashEntry(&iter)) { 353 353 RenderServer *serverPtr; 354 int f;355 354 pid_t child; 356 socklen_t length;357 struct sockaddr_in newaddr;358 355 359 356 serverPtr = Tcl_GetHashValue(hPtr); 360 357 if (!FD_ISSET(serverPtr->listenerFd, &readFds)) { 361 continue; 358 continue; 362 359 } 363 /* Accept the new connection. */ 364 length = sizeof(newaddr); 365 f = accept(serverPtr->listenerFd, (struct sockaddr *)&newaddr, 366 &length); 367 if (f < 0) { 368 ERROR("can't accept server \"%s\": %s", serverPtr->name, 369 strerror(errno)); 370 continue; 371 } 372 INFO("Connecting \"%s\" to %s\n", serverPtr->name, 373 inet_ntoa(newaddr.sin_addr)); 374 360 /* Rotate the display's screen number. If we have multiple video 361 * cards, try to spread the jobs out among them. */ 375 362 dispNum++; 376 363 if (dispNum >= maxCards) { … … 385 372 } else if (child == 0) { 386 373 int i; 374 int f; 375 socklen_t length; 376 struct sockaddr_in newaddr; 387 377 388 378 /* Child process. */ … … 397 387 } 398 388 } 389 390 /* Try to accept the connection and start the server. */ 391 392 /* Accept the new connection. */ 393 length = sizeof(newaddr); 394 f = accept(serverPtr->listenerFd, (struct sockaddr *)&newaddr, 395 &length); 396 if (f < 0) { 397 ERROR("can't accept server \"%s\": %s", serverPtr->name, 398 strerror(errno)); 399 exit(1); 400 } 401 INFO("Connecting \"%s\" to %s\n", serverPtr->name, 402 inet_ntoa(newaddr.sin_addr)); 403 399 404 dup2(f, 0); /* Stdin */ 400 405 dup2(f, 1); /* Stdout */
Note: See TracChangeset
for help on using the changeset viewer.