public
Description: Phusion Passenger (mod_rails)
Homepage: http://www.modrails.com/
Clone URL: git://github.com/FooBarWidget/passenger.git
Search Repo:
Click here to lend your support to: passenger and make a donation at www.pledgie.com !
ApplicationPoolServerExecutable: correctly check graceful shutdown flag.
Hongli Lai (Phusion) (author)
Wed May 14 17:21:58 -0700 2008
commit  3de371a19b83a555902225cf665c966ed79f4db7
tree    e49b75d5918ecf95a03a342c9865ae0f8bd8a120
parent  19401c6b554eb9bf99676696fc5f23bb74e98ec1
...
398
399
400
401
402
403
 
 
 
 
 
404
405
406
...
409
410
411
412
413
414
 
 
 
 
 
415
416
417
...
398
399
400
 
 
 
401
402
403
404
405
406
407
408
...
411
412
413
 
 
 
414
415
416
417
418
419
420
421
0
@@ -398,9 +398,11 @@
0
     
0
     // The received data only serves to wake up the server socket,
0
     // and is not important.
0
- do {
0
- ret = read(serverSocket, &x, 1);
0
- } while (ret == -1 && errno == EINTR && !serverDone);
0
+ while (!serverDone) {
0
+ do {
0
+ ret = read(serverSocket, &x, 1);
0
+ } while (ret == -1 && errno == EINTR && !serverDone);
0
+ }
0
     if (ret == 0 || serverDone) {
0
       // All web server processes disconnected from this server.
0
       // So we can safely quit.
0
@@ -409,9 +411,11 @@
0
     
0
     // We have an incoming connect request from an
0
     // ApplicationPool client.
0
- do {
0
- ret = socketpair(AF_UNIX, SOCK_STREAM, 0, fds);
0
- } while (ret == -1 && errno == EINTR && !serverDone);
0
+ while (!serverDone) {
0
+ do {
0
+ ret = socketpair(AF_UNIX, SOCK_STREAM, 0, fds);
0
+ } while (ret == -1 && errno == EINTR && !serverDone);
0
+ }
0
     if (ret == -1 || serverDone) {
0
       throw SystemException("Cannot create an anonymous Unix socket", errno);
0
     }

Comments

    No one has commented yet.