359 // compare old/new listeners and set next listener, if they are using |
359 // compare old/new listeners and set next listener, if they are using |
360 // the same socket |
360 // the same socket |
361 CxIterator old_listeners = cxListIterator(old_cfg->listeners, 0); |
361 CxIterator old_listeners = cxListIterator(old_cfg->listeners, 0); |
362 cx_foreach(HttpListener*, oldls, old_listeners) { |
362 cx_foreach(HttpListener*, oldls, old_listeners) { |
363 if(oldls->next) { |
363 if(oldls->next) { |
|
364 // maybe we can remove this check |
|
365 log_ereport(LOG_WARN, "migrate_server_conf: oldls->next not NULL"); |
364 continue; |
366 continue; |
365 } |
367 } |
366 |
368 |
367 CxIterator new_listeners = cxListIterator(new_cfg->listeners, 0); |
369 CxIterator new_listeners = cxListIterator(new_cfg->listeners, 0); |
368 cx_foreach(HttpListener*, newls, new_listeners) { |
370 cx_foreach(HttpListener*, newls, new_listeners) { |
369 if(http_listener_socket_eq(oldls, newls)) { |
371 if(http_listener_socket_eq(oldls, newls)) { |
370 http_listener_set_next(oldls, newls); |
372 http_listener_set_next(oldls, newls); |
371 break; |
373 break; |
372 } |
374 } |
373 } |
375 } |
|
376 http_listener_shutdown_acceptors(oldls); |
374 } |
377 } |
375 |
378 |
376 return 0; |
379 return 0; |
377 } |
380 } |
378 |
381 |