You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by ic...@apache.org on 2016/02/25 11:27:27 UTC

svn commit: r1732275 - in /httpd/httpd/branches/2.4.x: ./ include/ap_mmn.h include/http_connection.h include/scoreboard.h modules/generators/mod_status.c modules/ssl/ssl_engine_kernel.c server/connection.c server/mpm/event/event.c server/scoreboard.c

Author: icing
Date: Thu Feb 25 10:27:27 2016
New Revision: 1732275

URL: http://svn.apache.org/viewvc?rev=1732275&view=rev
Log:
merging pre_close_connection hook, prep_lingering_close and ap_update_child() additions from trunk

Modified:
    httpd/httpd/branches/2.4.x/   (props changed)
    httpd/httpd/branches/2.4.x/include/ap_mmn.h
    httpd/httpd/branches/2.4.x/include/http_connection.h
    httpd/httpd/branches/2.4.x/include/scoreboard.h
    httpd/httpd/branches/2.4.x/modules/generators/mod_status.c
    httpd/httpd/branches/2.4.x/modules/ssl/ssl_engine_kernel.c
    httpd/httpd/branches/2.4.x/server/connection.c
    httpd/httpd/branches/2.4.x/server/mpm/event/event.c
    httpd/httpd/branches/2.4.x/server/scoreboard.c

Propchange: httpd/httpd/branches/2.4.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Feb 25 10:27:27 2016
@@ -2,4 +2,4 @@
 /httpd/httpd/branches/2.4.17-protocols-http2:1701609-1705681
 /httpd/httpd/branches/revert-ap-ldap:1150158-1150173
 /httpd/httpd/branches/wombat-integration:723609-723841
-/httpd/httpd/trunk:1200475,1200478,1200482,1200491,1200496,1200513,1200550,1200556,1200580,1200605,1200612,1200614,1200639,1200646,1200656,1200667,1200679,1200699,1200702,1200955,1200957,1200961,1200963,1200968,1200975,1200977,1201032,1201042,1201111,1201194,1201198,1201202,1201443,1201450,1201460,1201956,1202236,1202453,1202456,1202886,1203400,1203491,1203632,1203714,1203859,1203980,1204630,1204968,1204990,1205061,1205075,1205379,1205885,1206291,1206472,1206587,1206850,1206940,1206978,1207719,1208753,1208835,1209053,1209085,1209417,1209432,1209461,1209601,1209603,1209618,1209623,1209741,1209754,1209766,1209776,1209797-1209798,1209811-1209812,1209814,1209908,1209910,1209913,1209916-1209917,1209947,1209952,1210067,1210080,1210120,1210124,1210130,1210148,1210219,1210221,1210252,1210284,1210336,1210378,1210725,1210892,1210951,1210954,1211351-1211352,1211364,1211490,1211495,1211528,1211663,1211680,1212872,1212883,1213338,1213380-1213381,1213391,1213399,1213567,1214003,1214005,1214015,12
 15514,1220462,1220467,1220493,1220524,1220570,1220768,1220794,1220826,1220846,1221205,1221292,1222335,1222370,1222473,1222915,1222917,1222921,1222930,1223048,1225060,1225197-1225199,1225223,1225380,1225476,1225478,1225791,1225795-1225796,1226339,1226375,1227910,1228700,1228816,1229024,1229059,1229099,1229116,1229134,1229136,1229930,1230286,1231255,1231257,1231442,1231446,1231508,1231510,1231518,1232575,1232594,1232630,1232838,1234180,1234297,1234479,1234511,1234565,1234574,1234642-1234643,1234876,1234899,1235019,1236122,1236701,1237407,1238545,1238768,1239029-1239030,1239071,1239565,1240315,1240470,1240778,1241069,1241071,1242089,1242798,1242967,1243176,1243246,1243797,1243799,1244211,1245717,1290823,1290835,1291819-1291820,1291834,1291840,1292043,1293405,1293534-1293535,1293658,1293678,1293708,1294306,1294349,1294356,1294358,1294372,1294471,1297560,1299718,1299786,1300766,1301111,1301725,1302444,1302483,1302653,1302665,1302674,1303201,1303435,1303827,1304087,1304874-1304875,1305167
 ,1305586,1306350,1306409,1306426,1306841,1307790,1308327,1308459,1309536,1309567,1311468,1324760,1325218,1325227,1325250,1325265,1325275,1325632,1325724,1326980,1326984,1326991,1327689,1328325-1328326,1328339,1328345,1328950,1330189,1330964,1331110,1331115,1331942,1331977,1332378,1333969,1334343,1335882,1337344,1341906,1341913,1343085,1343087,1343094,1343099,1343109,1343935,1345319,1345329,1346905,1347980,1348036,1348653,1348656,1348660,1349905,1351012-1351020,1351071-1351072,1351074,1351737,1352047,1352534,1352909-1352912,1357685,1358061,1359057,1359881,1359884,1361153,1361298,1361766,1361773,1361778,1361784,1361791-1361792,1361801,1361803,1362020,1362538,1362707,1363035,1363183,1363186,1363312,1363440,1363557,1363589,1363829,1363832,1363836-1363837,1363853,1364133,1364138,1364229,1364601,1364695,1365001,1365020,1365029,1365479,1366319,1366344,1366621,1367778,1367819,1368053,1368058,1368094,1368121,1368131,1368393,1368396,1369419,1369568,1369604,1369618,1369904,1369995,1369999,1370
 001,1370466,1370592,1370615-1370616,1370763,1371387,1371791,1371801,1371878,1371903,1373270,1373447,1373898,1373955,1374157,1374199,1374247,1374874,1374877,1374880,1375006,1375009,1375011,1375013,1375584,1376695,1376700,1378178,1383490,1384408,1384913,1386576,1386578,1386726,1386822,1386880,1386913,1387085,1387088,1387110,1387389,1387444,1387603,1387607,1387633,1387693,1387979,1388029,1388445,1388447,1388648,1388660,1388825,1388899,1389316,1389339,1389481,1389506,1389564,1389566-1389569,1390562,1390564,1391396,1391398,1391771,1392120,1392122,1392150,1392214,1392345-1392347,1392850,1393033,1393058,1393152,1393338,1393564,1394079,1395225,1395253-1395256,1395792,1397172,1397320,1397636,1397687,1397710,1397716,1398025,1398040,1398066,1398478,1398480-1398481,1398970,1399413,1399687,1399708,1400700,1401448,1402924,1403476,1403483,1403492,1404653,1405407,1405856,1405973,1406068,1406493,1406495,1406616,1406646,1406760,1407004,1407006,1407085,1407088,1407248,1407381,1407459-1407460,1407528,1
 407853,1407965,1408093,1408402,1408958,1408961,1409170,1409437,1409726,1409800,1410681,1410954,1411862,1412278,1413732,1414094,1415008,1415023,1415075,1416121,1416150,1416278,1417197,1417529,1418524,1418556,1418648,1418655,1418703,1418721,1418752,1418769,1419084,1419719,1419726,1419755,1419781,1419796,1420120,1420124,1420149,1420184,1420644,1420685-1420686,1420975,1421288,1421323,1421851,1421912,1421953,1422135,1422549,1422594,1422712,1422855,1422937,1422943,1422980,1423353,1423933,1425360,1425771-1425772,1425775,1425777,1425874,1426850,1426975,1427546,1428184,1428280,1428916,1429228,1429559,1429561,1429564,1429582,1430575,1430814,1430869,1433001,1433613,1433682,1433861,1433988,1435178,1435811,1436058,1436401,1439083,1439106,1439114,1439404,1439623,1442309,1442320,1442326,1442412,1442759,1442865,1447993,1448171,1448453,1451478,1451484,1451633,1451849,1451905,1451921,1452128,1452195,1452259,1452281,1452551,1452911,1452949,1452954,1453022,1453574,1453604,1453875-1453876,1453963,145398
 1,1454386,1454414-1454415,1454888,1457437,1457450,1457471,1457504,1457520-1457521,1457610,1457995,1458003-1458004,1458020,1458285,1458447,1458456,1462266,1462269,1462643,1463044-1463047,1463052,1463056,1463455,1463736,1463750,1463754,1464675,1464721,1464762,1465115-1465116,1465190,1467765,1468581,1470183,1470679,1470940,1471449,1475878,1476604,1476621,1476642,1476644-1476645,1476652,1476680,1477094,1477530,1478382,1478748,1479117,1479216,1479222,1479411,1479528,1479905,1479966,1480046,1480627,1481197,1481302,1481306,1481396-1481397,1481891,1482041,1482075,1482170,1482555,1482859,1482996,1483005,1483027,1483190,1484343,1484398,1484832,1484910,1484914,1485409,1485668,1486490,1487528,1487530,1488158,1488164,1488296,1488471,1488492,1488644,1490493,1490507,1490550,1490761,1490994,1491155,1491221,1491234,1491458,1491479,1491538,1491564,1491724,1492663,1492710,1492782,1493330,1493921,1493925,1494536,1495501,1496194,1496338,1496429,1496709,1497371,1497588,1498880,1499679,1500323,1500345,150
 0362,1500423,1500437,1500483,1500519,1501294,1501369,1501399,1501913,1502665,1502772,1503680,1503866,1503990-1503991,1504276,1506714,1509872,1509983,1510084-1510085,1510098,1510588,1510707,1511093,1513492,1513508,1514039,1514064,1514214-1514215,1514255,1514267,1514617,1515050,1515162,1515403,1515411,1515420,1517025,1517045,1517175,1517366,1517386,1517388,1518265,1518269,1519475,1520368,1520445,1520760,1520908,1521909,1523235,1523239,1523281,1523387,1524101,1524158,1524192,1524368,1524388,1524770,1525276,1525280-1525281,1525931,1526168,1526189,1526647,1526666,1527008,1527220,1527291,1527294-1527295,1527509,1527925-1527926,1528143,1528718,1529014,1529277,1529449,1529559,1529988,1529991,1530793,1531340,1531370,1531505,1531672,1531961-1531962,1532746,1532816,1533065,1533224,1534321,1534754,1534890,1534892,1536310,1537535,1538490,1540051-1540052,1541181,1541270,1541368,1542338,1542379,1542533,1542562,1542615,1543020,1543147,1543149,1543174,1544381,1544774,1544784,1544812,1544820,1545286,
 1545292,1545325,1545364,1545408,1545411,1546692-1546693,1546730,1546759-1546760,1546801,1546804-1546805,1546835-1546836,1547845,1550061,1550302,1550307,1551685,1551714,1551802,1552130,1552227,1553204,1553824,1554161,1554168,1554170,1554175-1554176,1554179,1554181,1554184,1554188,1554192,1554195,1554276,1554281,1554300-1554301,1554994-1554995,1555240,1555259,1555266,1555423-1555424,1555463-1555464,1555467,1555555,1555569,1556206,1556428,1556911-1556912,1556914,1556937,1557317,1557617,1558483,1559351,1559828,1560367,1560546,1560679,1560689,1560729,1560977,1560979,1561137,1561262,1561385,1561660,1561923,1562472,1563193,1563379,1563381,1563417-1563418,1563420,1564052,1564437,1564475,1564756,1564760,1565081,1565711,1568404,1569615,1570288,1570598,1571369,1572092,1572198,1572543,1572561,1572611,1572630,1572655,1572663,1572668-1572671,1572896,1572905,1572911,1572967,1573224,1573229,1573626,1574151,1575400,1576233,1576741,1578760,1578762,1580568,1583005,1583007-1583008,1583027,1583175,15831
 91,1584098,1584430,1584434,1584572,1584653,1584658,1584665,1584703,1584878,1584884,1584896,1585054,1585072,1585090,1585435,1585609,1585824,1585918-1585919,1586745,1586827,1587036,1587040,1587053,1587255,1587594,1587639,1587654,1588054,1588065,1588213,1588330,1588427,1588519,1588527,1588704,1588851,1588853,1589413,1590437,1590509,1591143,1591320,1591322,1591328,1591390,1591394,1591401,1591472,1591508,1592032,1592037,1592500,1592511,1592514,1592529,1592615,1592632,1593745,1594625,1594643,1594648,1595305,1595321,1595426,1597182,1597349,1597352,1597639,1597642,1598107,1598946,1599535,1601076,1601184-1601185,1601274,1601291,1601630,1601919,1601995,1602338,1602978,1602989,1603027,1603029,1603122,1603156,1603915,1604382,1604461,1604631,1605207,1605827,1605829,1607960,1608284,1608785,1608999,1609914,1609936,1609938,1610207,1610311,1610353,1610366,1610491,1610652,1610674,1611165,1611169,1611244,1611600,1611871,1611978,1612068,1615026,1615289,1617018,1618401,1618541,1619297,1619383,1619444,16
 19835,1620324,1620461,1620932,1621367,1621372,1621417,1621453,1621806,1622450,1624234,1624349,1625196,1625952,1626050,1626978,1628104,1628918-1628919,1628924,1628950,1629235,1629239,1629244,1629250,1629372,1629440-1629441,1629485,1629507-1629508,1629519,1629577,1629652,1629916,1631885,1632454,1632740,1632742,1633730-1633731,1633793,1634120,1634237,1634425,1634736,1634836,1635510,1635558,1635644-1635645,1635762,1637112,1638072-1638073,1638879,1639614,1640031,1640036,1640040,1640042,1640331,1641077,1641095,1641376,1642099,1642484,1642499,1642847,1642868,1643034,1643284,1643537,1643825,1644245,1646282,1646724,1647035,1648201,1648394,1648433,1648719,1648840,1649001,1649043,1649632,1649966,1650047,1650061,1650309-1650310,1650320,1651088,1652829,1652929,1652931,1652955,1652982,1652985,1652989,1653941,1653978,1653997,1656225,1656669,1657256,1657261,1657636,1657638,1657685,1657881,1657897,1658760,1658765,1661067,1661258,1661448,1661464,1661486,1662245-1662246,1663017,1663647,1664071,1664133
 ,1664205,1664299,1664709,1665215,1665218,1665625,1665643,1665721,1666297,1666361,1666363,1666468,1666618,1666998,1667385-1667386,1668532,1668535,1668553,1669130,1669289,1669292,1670434,1671364,1671396-1671397,1671918,1672289,1672453,1672466,1672480,1672483,1672564,1672757,1672985,1672989,1673113,1673155,1673368,1673455,1673769,1674056,1674538,1674542,1674606,1674632,1674697,1675103,1675410,1675533,1676085,1676654,1676709,1676842,1677096,1677143-1677146,1677149,1677151,1677153-1677156,1677159,1677339,1677462,1677702,1677830,1677832,1677834-1677835,1678763,1679032,1679181-1679182,1679192,1679428,1679432,1679470,1679620,1679712,1680276,1680895,1680900,1680942,1681037,1681424,1681440,1681685,1681694,1681795,1682482,1682816,1682819,1682907,1682923,1682937,1682979,1682988,1683044,1683047,1683123,1683881,1683884,1684057,1684900,1685069,1685339,1685345,1685347,1685349-1685350,1685650,1685659,1685779,1686085,1686853,1686856,1687539,1687680,1687980,1688274,1688331,1688339-1688341,1688343,1688
 474-1688475,1688536,1688538,1688660,1689325,1689605,1689694,1689698,1690120,1690137,1690248,1691374,1691582,1691592,1691819,1691908,1692285,1692432,1692486,1692516,1693792,1693918-1693919,1693963,1694903,1694936,1694950-1694951,1695170,1695727,1695874,1695885,1695920,1696105,1696264,1696266,1696279,1696428,1696442,1696565,1696592,1696607,1696755,1696881,1697013,1697015,1697051,1697323,1697339,1697370,1697389,1697446,1697543,1697634,1697855,1698023,1698103,1698107,1698116,1698133,1698330,1700271,1700275,1700317-1700322,1700326,1700328,1700330-1700332,1700334,1700336,1700338,1700418,1700514,1700777,1700851,1700917,1700925,1700968,1701005,1701145,1701178,1701204,1701347,1701436,1701545,1701717,1702643,1702919,1703152,1703417,1703642,1703807,1703813,1703822,1703871,1703902,1703952,1704099,1704241,1704262,1704797,1704799,1704826,1705099,1705134,1705194,1705257,1705749,1705776,1705823,1705826,1705828,1705833,1705983,1706275,1706627,1706635,1706637,1706640,1706918,1706942,1706989,1707002,1
 707230-1707231,1707497,1707519,1707591,1707626-1707627,1707640,1707831,1707883,1707889,1708107,1709008,1709587,1709596,1709602,1709995,1710095,1710105,1710231,1710380,1710391,1710419,1710572,1710583,1710723,1711553,1711648,1711728,1711902,1712382,1713040,1713209,1713937,1715023,1715255,1715273,1715567-1715568,1715570-1715572,1715576,1715581-1715585,1716211,1716388,1716460,1716487,1716660,1716940,1717063,1717086,1717639,1717816,1717934,1717958,1717975,1717985,1718314,1718338,1718400,1718514,1718556,1718569,1718598,1719016,1719018,1719189-1719190,1719252,1719254-1719255,1719257,1719967,1720996,1721313,1721685,1721899,1722137,1722154,1722572,1722701,1723122,1723143,1723567,1724656,1724847,1724857,1725149,1725325,1725392,1725394-1725395,1725445,1725468,1725485,1725516,1725940,1726086,1726233,1726798,1726888,1727317,1727544,1727842,1729374,1730297,1730640
+/httpd/httpd/trunk:1200475,1200478,1200482,1200491,1200496,1200513,1200550,1200556,1200580,1200605,1200612,1200614,1200639,1200646,1200656,1200667,1200679,1200699,1200702,1200955,1200957,1200961,1200963,1200968,1200975,1200977,1201032,1201042,1201111,1201194,1201198,1201202,1201443,1201450,1201460,1201956,1202236,1202453,1202456,1202886,1203400,1203491,1203632,1203714,1203859,1203980,1204630,1204968,1204990,1205061,1205075,1205379,1205885,1206291,1206472,1206587,1206850,1206940,1206978,1207719,1208753,1208835,1209053,1209085,1209417,1209432,1209461,1209601,1209603,1209618,1209623,1209741,1209754,1209766,1209776,1209797-1209798,1209811-1209812,1209814,1209908,1209910,1209913,1209916-1209917,1209947,1209952,1210067,1210080,1210120,1210124,1210130,1210148,1210219,1210221,1210252,1210284,1210336,1210378,1210725,1210892,1210951,1210954,1211351-1211352,1211364,1211490,1211495,1211528,1211663,1211680,1212872,1212883,1213338,1213380-1213381,1213391,1213399,1213567,1214003,1214005,1214015,12
 15514,1220462,1220467,1220493,1220524,1220570,1220768,1220794,1220826,1220846,1221205,1221292,1222335,1222370,1222473,1222915,1222917,1222921,1222930,1223048,1225060,1225197-1225199,1225223,1225380,1225476,1225478,1225791,1225795-1225796,1226339,1226375,1227910,1228700,1228816,1229024,1229059,1229099,1229116,1229134,1229136,1229930,1230286,1231255,1231257,1231442,1231446,1231508,1231510,1231518,1232575,1232594,1232630,1232838,1234180,1234297,1234479,1234511,1234565,1234574,1234642-1234643,1234876,1234899,1235019,1236122,1236701,1237407,1238545,1238768,1239029-1239030,1239071,1239565,1240315,1240470,1240778,1241069,1241071,1242089,1242798,1242967,1243176,1243246,1243797,1243799,1244211,1245717,1290823,1290835,1291819-1291820,1291834,1291840,1292043,1293405,1293534-1293535,1293658,1293678,1293708,1294306,1294349,1294356,1294358,1294372,1294471,1297560,1299718,1299786,1300766,1301111,1301725,1302444,1302483,1302653,1302665,1302674,1303201,1303435,1303827,1304087,1304874-1304875,1305167
 ,1305586,1306350,1306409,1306426,1306841,1307790,1308327,1308459,1309536,1309567,1311468,1324760,1325218,1325227,1325250,1325265,1325275,1325632,1325724,1326980,1326984,1326991,1327689,1328325-1328326,1328339,1328345,1328950,1330189,1330964,1331110,1331115,1331942,1331977,1332378,1333969,1334343,1335882,1337344,1341906,1341913,1343085,1343087,1343094,1343099,1343109,1343935,1345319,1345329,1346905,1347980,1348036,1348653,1348656,1348660,1349905,1351012-1351020,1351071-1351072,1351074,1351737,1352047,1352534,1352909-1352912,1357685,1358061,1359057,1359881,1359884,1361153,1361298,1361766,1361773,1361778,1361784,1361791-1361792,1361801,1361803,1362020,1362538,1362707,1363035,1363183,1363186,1363312,1363440,1363557,1363589,1363829,1363832,1363836-1363837,1363853,1364133,1364138,1364229,1364601,1364695,1365001,1365020,1365029,1365479,1366319,1366344,1366621,1367778,1367819,1368053,1368058,1368094,1368121,1368131,1368393,1368396,1369419,1369568,1369604,1369618,1369904,1369995,1369999,1370
 001,1370466,1370592,1370615-1370616,1370763,1371387,1371791,1371801,1371878,1371903,1373270,1373447,1373898,1373955,1374157,1374199,1374247,1374874,1374877,1374880,1375006,1375009,1375011,1375013,1375584,1376695,1376700,1378178,1383490,1384408,1384913,1386576,1386578,1386726,1386822,1386880,1386913,1387085,1387088,1387110,1387389,1387444,1387603,1387607,1387633,1387693,1387979,1388029,1388445,1388447,1388648,1388660,1388825,1388899,1389316,1389339,1389481,1389506,1389564,1389566-1389569,1390562,1390564,1391396,1391398,1391771,1392120,1392122,1392150,1392214,1392345-1392347,1392850,1393033,1393058,1393152,1393338,1393564,1394079,1395225,1395253-1395256,1395792,1397172,1397320,1397636,1397687,1397710,1397716,1398025,1398040,1398066,1398478,1398480-1398481,1398970,1399413,1399687,1399708,1400700,1401448,1402924,1403476,1403483,1403492,1404653,1405407,1405856,1405973,1406068,1406493,1406495,1406616,1406646,1406760,1407004,1407006,1407085,1407088,1407248,1407381,1407459-1407460,1407528,1
 407853,1407965,1408093,1408402,1408958,1408961,1409170,1409437,1409726,1409800,1410681,1410954,1411862,1412278,1413732,1414094,1415008,1415023,1415075,1416121,1416150,1416278,1417197,1417440,1417529,1418524,1418556,1418648,1418655,1418703,1418721,1418752,1418769,1419084,1419719,1419726,1419755,1419781,1419796,1420120,1420124,1420149,1420184,1420644,1420685-1420686,1420975,1421288,1421323,1421851,1421912,1421953,1422135,1422549,1422594,1422712,1422855,1422937,1422943,1422980,1423353,1423933,1425360,1425771-1425772,1425775,1425777,1425874,1426850,1426975,1427546,1428184,1428280,1428916,1429228,1429559,1429561,1429564,1429582,1430575,1430814,1430869,1433001,1433613,1433682,1433861,1433988,1435178,1435811,1436058,1436401,1439083,1439106,1439114,1439404,1439623,1442309,1442320,1442326,1442412,1442759,1442865,1447993,1448171,1448453,1451478,1451484,1451633,1451849,1451905,1451921,1452128,1452195,1452259,1452281,1452551,1452911,1452949,1452954,1453022,1453574,1453604,1453875-1453876,145396
 3,1453981,1454386,1454414-1454415,1454888,1457437,1457450,1457471,1457504,1457520-1457521,1457610,1457995,1458003-1458004,1458020,1458285,1458447,1458456,1462266,1462269,1462643,1463044-1463047,1463052,1463056,1463455,1463736,1463750,1463754,1464675,1464721,1464762,1465115-1465116,1465190,1467765,1468581,1470183,1470679,1470940,1471449,1475878,1476604,1476621,1476642,1476644-1476645,1476652,1476680,1477094,1477530,1478382,1478748,1479117,1479216,1479222,1479411,1479528,1479905,1479966,1480046,1480627,1481197,1481302,1481306,1481396-1481397,1481891,1482041,1482075,1482170,1482555,1482859,1482996,1483005,1483027,1483190,1484343,1484398,1484832,1484910,1484914,1485409,1485668,1486490,1487528,1487530,1488158,1488164,1488296,1488471,1488492,1488644,1490493,1490507,1490550,1490761,1490994,1491155,1491221,1491234,1491458,1491479,1491538,1491564,1491724,1492663,1492710,1492782,1493330,1493921,1493925,1494536,1495501,1496194,1496338,1496429,1496709,1497371,1497588,1498880,1499679,1500323,150
 0345,1500362,1500423,1500437,1500483,1500519,1501294,1501369,1501399,1501913,1502665,1502772,1503680,1503866,1503990-1503991,1504276,1506714,1509872,1509983,1510084-1510085,1510098,1510588,1510707,1511093,1513492,1513508,1514039,1514064,1514214-1514215,1514255,1514267,1514617,1515050,1515162,1515403,1515411,1515420,1517025,1517045,1517175,1517366,1517386,1517388,1518265,1518269,1519475,1520368,1520445,1520760,1520908,1521909,1523235,1523239,1523281,1523387,1524101,1524158,1524192,1524368,1524388,1524770,1525276,1525280-1525281,1525931,1526168,1526189,1526647,1526666,1527008,1527220,1527291,1527294-1527295,1527509,1527925-1527926,1528143,1528718,1529014,1529277,1529449,1529559,1529988,1529991,1530793,1531340,1531370,1531505,1531672,1531961-1531962,1532746,1532816,1533065,1533224,1534321,1534754,1534890,1534892,1536310,1537535,1538490,1540051-1540052,1541181,1541270,1541368,1542338,1542379,1542533,1542562,1542615,1543020,1543147,1543149,1543174,1544381,1544774,1544784,1544812,1544820,
 1545286,1545292,1545325,1545364,1545408,1545411,1546692-1546693,1546730,1546759-1546760,1546801,1546804-1546805,1546835-1546836,1547845,1550061,1550302,1550307,1551685,1551714,1551802,1552130,1552227,1553204,1553824,1554161,1554168,1554170,1554175-1554176,1554179,1554181,1554184,1554188,1554192,1554195,1554276,1554281,1554300-1554301,1554994-1554995,1555240,1555259,1555266,1555423-1555424,1555463-1555464,1555467,1555555,1555569,1556206,1556428,1556911-1556912,1556914,1556937,1557317,1557617,1558483,1559351,1559828,1560367,1560546,1560679,1560689,1560729,1560977,1560979,1561137,1561262,1561385,1561660,1561923,1562472,1563193,1563379,1563381,1563417-1563418,1563420,1564052,1564437,1564475,1564756,1564760,1565081,1565711,1568404,1569615,1570288,1570598,1571369,1572092,1572198,1572543,1572561,1572611,1572630,1572655,1572663,1572668-1572671,1572896,1572905,1572911,1572967,1573224,1573229,1573626,1574151,1575400,1576233,1576741,1578760,1578762,1580568,1583005,1583007-1583008,1583027,15831
 75,1583191,1584098,1584430,1584434,1584572,1584653,1584658,1584665,1584703,1584878,1584884,1584896,1585054,1585072,1585090,1585435,1585609,1585824,1585918-1585919,1586745,1586827,1587036,1587040,1587053,1587255,1587594,1587639,1587654,1588054,1588065,1588213,1588330,1588427,1588519,1588527,1588704,1588851,1588853,1589413,1590437,1590509,1591143,1591320,1591322,1591328,1591390,1591394,1591401,1591472,1591508,1592032,1592037,1592500,1592511,1592514,1592529,1592615,1592632,1593745,1594625,1594643,1594648,1595305,1595321,1595426,1597182,1597349,1597352,1597639,1597642,1598107,1598946,1599535,1601076,1601184-1601185,1601274,1601291,1601630,1601919,1601995,1602338,1602978,1602989,1603027,1603029,1603122,1603156,1603915,1604382,1604461,1604631,1605207,1605827,1605829,1607960,1608284,1608785,1608999,1609914,1609936,1609938,1610207,1610311,1610353,1610366,1610491,1610652,1610674,1611165,1611169,1611244,1611600,1611871,1611978,1612068,1615026,1615289,1617018,1618401,1618541,1619297,1619383,16
 19444,1619835,1620324,1620461,1620932,1621367,1621372,1621417,1621453,1621806,1622450,1624234,1624349,1625196,1625952,1626050,1626978,1628104,1628918-1628919,1628924,1628950,1629235,1629239,1629244,1629250,1629372,1629440-1629441,1629485,1629507-1629508,1629519,1629577,1629652,1629916,1631885,1632454,1632740,1632742,1633730-1633731,1633793,1634120,1634237,1634425,1634736,1634836,1635510,1635558,1635644-1635645,1635762,1637112,1638072-1638073,1638879,1639614,1640031,1640036,1640040,1640042,1640331,1641077,1641095,1641376,1642099,1642484,1642499,1642847,1642868,1643034,1643284,1643537,1643825,1644245,1646282,1646724,1647035,1648201,1648394,1648433,1648719,1648840,1649001,1649043,1649632,1649966,1650047,1650061,1650309-1650310,1650320,1651088,1652829,1652929,1652931,1652955,1652982,1652985,1652989,1653941,1653978,1653997,1656225,1656669,1657256,1657261,1657636,1657638,1657685,1657881,1657897,1658760,1658765,1661067,1661258,1661448,1661464,1661486,1662245-1662246,1663017,1663647,1664071
 ,1664133,1664205,1664299,1664709,1665215,1665218,1665625,1665643,1665721,1666297,1666361,1666363,1666468,1666618,1666998,1667385-1667386,1668532,1668535,1668553,1669130,1669289,1669292,1670434,1671364,1671396-1671397,1671918,1672289,1672453,1672466,1672480,1672483,1672564,1672757,1672985,1672989,1673113,1673155,1673368,1673455,1673769,1674056,1674538,1674542,1674606,1674632,1674697,1675103,1675410,1675533,1676085,1676654,1676709,1676842,1677096,1677143-1677146,1677149,1677151,1677153-1677156,1677159,1677339,1677462,1677702,1677830,1677832,1677834-1677835,1678763,1679032,1679181-1679182,1679192,1679428,1679432,1679470,1679620,1679712,1680276,1680895,1680900,1680942,1681037,1681424,1681440,1681685,1681694,1681795,1682482,1682816,1682819,1682907,1682923,1682937,1682979,1682988,1683044,1683047,1683123,1683881,1683884,1684057,1684900,1685069,1685339,1685345,1685347,1685349-1685350,1685650,1685659,1685779,1686085,1686853,1686856,1687539,1687680,1687980,1688274,1688331,1688339-1688341,1688
 343,1688474-1688475,1688536,1688538,1688660,1689325,1689605,1689694,1689698,1690120,1690137,1690248,1691374,1691582,1691592,1691819,1691908,1692285,1692432,1692486,1692516,1693792,1693918-1693919,1693963,1694903,1694936,1694950-1694951,1695170,1695727,1695874,1695885,1695920,1696105,1696264,1696266,1696279,1696428,1696442,1696565,1696592,1696607,1696755,1696881,1697013,1697015,1697051,1697323,1697339,1697370,1697389,1697446,1697543,1697634,1697855,1698023,1698103,1698107,1698116,1698133,1698330,1700271,1700275,1700317-1700322,1700326,1700328,1700330-1700332,1700334,1700336,1700338,1700418,1700514,1700777,1700851,1700917,1700925,1700968,1701005,1701145,1701178,1701204,1701347,1701436,1701545,1701717,1702643,1702919,1703152,1703417,1703642,1703807,1703813,1703822,1703871,1703902,1703952,1704099,1704241,1704262,1704797,1704799,1704826,1705099,1705134,1705194,1705257,1705749,1705776,1705823,1705826,1705828,1705833,1705983,1706275,1706627,1706635,1706637,1706640,1706918,1706942,1706989,1
 707002,1707230-1707231,1707497,1707519,1707591,1707626-1707627,1707640,1707831,1707883,1707889,1708107,1709008,1709587,1709596,1709602,1709995,1710095,1710105,1710231,1710380,1710391,1710419,1710572,1710583,1710723,1711553,1711648,1711728,1711902,1712382,1713040,1713209,1713937,1715023,1715255,1715273,1715567-1715568,1715570-1715572,1715576,1715581-1715585,1716211,1716388,1716460,1716487,1716660,1716940,1717063,1717086,1717639,1717816,1717934,1717958,1717975,1717985,1718314,1718338,1718400,1718514,1718556,1718569,1718598,1719016,1719018,1719189-1719190,1719252,1719254-1719255,1719257,1719967,1720996,1721313,1721685,1721899,1722137,1722154,1722572,1722701,1723122,1723143,1723567,1724656,1724847,1724857,1725149,1725325,1725392,1725394-1725395,1725445,1725468,1725485,1725516,1725940,1726009,1726026,1726086,1726233,1726798,1726888,1727071,1727317,1727544,1727573,1727842,1729374,1729376,1729960,1730297,1730640,1730865

Modified: httpd/httpd/branches/2.4.x/include/ap_mmn.h
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/include/ap_mmn.h?rev=1732275&r1=1732274&r2=1732275&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/include/ap_mmn.h (original)
+++ httpd/httpd/branches/2.4.x/include/ap_mmn.h Thu Feb 25 10:27:27 2016
@@ -461,6 +461,10 @@
  * 20120211.54 (2.4.19-dev) Add ap_proxy_buckets_lifetime_transform and
  *                          ap_proxy_transfer_between_connections to
  *                          mod_proxy.h
+ * 20120211.55 (2.4.19-dev) Add new ap_update_child_status...() methods,
+ *                          add protocol to worker_score in scoreboard.h,
+ *                          Add pre_close connection hook and 
+ *                          ap_prep_lingering_close().
  */
 
 #define MODULE_MAGIC_COOKIE 0x41503234UL /* "AP24" */
@@ -468,7 +472,7 @@
 #ifndef MODULE_MAGIC_NUMBER_MAJOR
 #define MODULE_MAGIC_NUMBER_MAJOR 20120211
 #endif
-#define MODULE_MAGIC_NUMBER_MINOR 54                   /* 0...n */
+#define MODULE_MAGIC_NUMBER_MINOR 55                   /* 0...n */
 
 /**
  * Determine if the server's current MODULE_MAGIC_NUMBER is at least a

Modified: httpd/httpd/branches/2.4.x/include/http_connection.h
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/include/http_connection.h?rev=1732275&r1=1732274&r2=1732275&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/include/http_connection.h (original)
+++ httpd/httpd/branches/2.4.x/include/http_connection.h Thu Feb 25 10:27:27 2016
@@ -75,6 +75,8 @@ AP_CORE_DECLARE(void) ap_flush_conn(conn
  */
 AP_DECLARE(void) ap_lingering_close(conn_rec *c);
 
+AP_DECLARE(int) ap_prep_lingering_close(conn_rec *c);
+
 AP_DECLARE(int) ap_start_lingering_close(conn_rec *c);
 
 /* Hooks */
@@ -121,6 +123,18 @@ AP_DECLARE_HOOK(int,pre_connection,(conn
  */
 AP_DECLARE_HOOK(int,process_connection,(conn_rec *c))
 
+/**
+ * This hook implements different protocols.  Before a connection is closed,
+ * protocols might have to perform some housekeeping actions, such as 
+ * sending one last goodbye packet. The connection is, unless some other
+ * error already happened before, still open and operational.
+ * All pre-close-connection hooks are run until one returns something 
+ * other than ok or decline
+ * @param c The connection on which the request has been received.
+ * @return OK or DECLINED
+ */
+AP_DECLARE_HOOK(int,pre_close_connection,(conn_rec *c))
+
 /** End Of Connection (EOC) bucket */
 AP_DECLARE_DATA extern const apr_bucket_type_t ap_bucket_type_eoc;
 

Modified: httpd/httpd/branches/2.4.x/include/scoreboard.h
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/include/scoreboard.h?rev=1732275&r1=1732274&r2=1732275&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/include/scoreboard.h (original)
+++ httpd/httpd/branches/2.4.x/include/scoreboard.h Thu Feb 25 10:27:27 2016
@@ -115,6 +115,7 @@ struct worker_score {
     char client[32];            /* Keep 'em small... */
     char request[64];           /* We just want an idea... */
     char vhost[32];             /* What virtual host is being accessed? */
+    char protocol[16];          /* What protocol is used on the connection? */
 };
 
 typedef struct {
@@ -181,6 +182,10 @@ AP_DECLARE(int) ap_update_child_status(a
 AP_DECLARE(int) ap_update_child_status_from_indexes(int child_num, int thread_num,
                                                     int status, request_rec *r);
 AP_DECLARE(int) ap_update_child_status_from_conn(ap_sb_handle_t *sbh, int status, conn_rec *c);
+AP_DECLARE(int) ap_update_child_status_from_server(ap_sb_handle_t *sbh, int status, 
+                                                   conn_rec *c, server_rec *s);
+AP_DECLARE(int) ap_update_child_status_descr(ap_sb_handle_t *sbh, int status, const char *descr);
+
 AP_DECLARE(void) ap_time_process_request(ap_sb_handle_t *sbh, int status);
 
 AP_DECLARE(worker_score *) ap_get_scoreboard_worker(ap_sb_handle_t *sbh);

Modified: httpd/httpd/branches/2.4.x/modules/generators/mod_status.c
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/modules/generators/mod_status.c?rev=1732275&r1=1732274&r2=1732275&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/modules/generators/mod_status.c (original)
+++ httpd/httpd/branches/2.4.x/modules/generators/mod_status.c Thu Feb 25 10:27:27 2016
@@ -662,7 +662,7 @@ static int status_handler(request_rec *r
 #endif
                      "<th>SS</th><th>Req</th>"
                      "<th>Conn</th><th>Child</th><th>Slot</th>"
-                     "<th>Client</th><th>VHost</th>"
+                     "<th>Client</th><th>Protocol</th><th>VHost</th>"
                      "<th>Request</th></tr>\n\n", r);
 
         for (i = 0; i < server_limit; ++i) {
@@ -776,13 +776,15 @@ static int status_handler(request_rec *r
                     format_byte_out(r, bytes);
                     ap_rputs(")\n", r);
                     ap_rprintf(r,
-                               " <i>%s {%s}</i> <b>[%s]</b><br />\n\n",
+                               " <i>%s {%s}</i> <i>(%s)</i> <b>[%s]</b><br />\n\n",
                                ap_escape_html(r->pool,
                                               ws_record->client),
                                ap_escape_html(r->pool,
                                               ap_escape_logitem(r->pool,
                                                                 ws_record->request)),
                                ap_escape_html(r->pool,
+                                              ws_record->protocol),
+                               ap_escape_html(r->pool,
                                               ws_record->vhost));
                 }
                 else { /* !no_table_report */
@@ -860,11 +862,13 @@ static int status_handler(request_rec *r
                                (float)conn_bytes / KBYTE, (float) my_bytes / MBYTE,
                                (float)bytes / MBYTE);
 
-                    ap_rprintf(r, "</td><td>%s</td><td nowrap>%s</td>"
+                    ap_rprintf(r, "</td><td>%s</td><td>%s</td><td nowrap>%s</td>"
                                   "<td nowrap>%s</td></tr>\n\n",
                                ap_escape_html(r->pool,
                                               ws_record->client),
                                ap_escape_html(r->pool,
+                                              ws_record->protocol),
+                               ap_escape_html(r->pool,
                                               ws_record->vhost),
                                ap_escape_html(r->pool,
                                               ap_escape_logitem(r->pool,

Modified: httpd/httpd/branches/2.4.x/modules/ssl/ssl_engine_kernel.c
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/modules/ssl/ssl_engine_kernel.c?rev=1732275&r1=1732274&r2=1732275&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/modules/ssl/ssl_engine_kernel.c (original)
+++ httpd/httpd/branches/2.4.x/modules/ssl/ssl_engine_kernel.c Thu Feb 25 10:27:27 2016
@@ -31,6 +31,7 @@
 #include "ssl_private.h"
 #include "mod_ssl.h"
 #include "util_md5.h"
+#include "scoreboard.h"
 
 static void ssl_configure_env(request_rec *r, SSLConnRec *sslconn);
 #ifdef HAVE_TLSEXT
@@ -2202,6 +2203,7 @@ static int ssl_find_vhost(void *serverna
         sslcon->server = s;
         sslcon->cipher_suite = sc->server->auth.cipher_suite;
         
+        ap_update_child_status_from_server(c->sbh, SERVER_BUSY_READ, c, s);
         /*
          * There is one special filter callback, which is set
          * very early depending on the base_server's log level.

Modified: httpd/httpd/branches/2.4.x/server/connection.c
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/server/connection.c?rev=1732275&r1=1732274&r2=1732275&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/server/connection.c (original)
+++ httpd/httpd/branches/2.4.x/server/connection.c Thu Feb 25 10:27:27 2016
@@ -34,12 +34,15 @@ APR_HOOK_STRUCT(
             APR_HOOK_LINK(create_connection)
             APR_HOOK_LINK(process_connection)
             APR_HOOK_LINK(pre_connection)
+            APR_HOOK_LINK(pre_close_connection)
 )
 AP_IMPLEMENT_HOOK_RUN_FIRST(conn_rec *,create_connection,
                             (apr_pool_t *p, server_rec *server, apr_socket_t *csd, long conn_id, void *sbh, apr_bucket_alloc_t *alloc),
                             (p, server, csd, conn_id, sbh, alloc), NULL)
 AP_IMPLEMENT_HOOK_RUN_FIRST(int,process_connection,(conn_rec *c),(c),DECLINED)
 AP_IMPLEMENT_HOOK_RUN_ALL(int,pre_connection,(conn_rec *c, void *csd),(c, csd),OK,DECLINED)
+AP_IMPLEMENT_HOOK_RUN_ALL(int,pre_close_connection,(conn_rec *c),(c),OK,DECLINED)
+
 /*
  * More machine-dependent networking gooo... on some systems,
  * you've got to be *really* sure that all the packets are acknowledged
@@ -92,6 +95,17 @@ AP_CORE_DECLARE(void) ap_flush_conn(conn
     (void)ap_shutdown_conn(c, 1);
 }
 
+AP_DECLARE(int) ap_prep_lingering_close(conn_rec *c)
+{
+    /* Give protocol handlers one last chance to raise their voice */
+    ap_run_pre_close_connection(c);
+    
+    if (c->sbh) {
+        ap_update_child_status(c->sbh, SERVER_CLOSING, NULL);
+    }
+    return 0;
+}
+
 /* we now proceed to read from the client until we get EOF, or until
  * MAX_SECS_TO_LINGER has passed.  The reasons for doing this are
  * documented in a draft:
@@ -112,10 +126,10 @@ AP_DECLARE(int) ap_start_lingering_close
         return 1;
     }
 
-    if (c->sbh) {
-        ap_update_child_status(c->sbh, SERVER_CLOSING, NULL);
+    if (ap_prep_lingering_close(c)) {
+        return 1;
     }
-
+    
 #ifdef NO_LINGCLOSE
     ap_flush_conn(c); /* just close it */
     apr_socket_close(csd);

Modified: httpd/httpd/branches/2.4.x/server/mpm/event/event.c
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/server/mpm/event/event.c?rev=1732275&r1=1732274&r2=1732275&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/server/mpm/event/event.c (original)
+++ httpd/httpd/branches/2.4.x/server/mpm/event/event.c Thu Feb 25 10:27:27 2016
@@ -905,7 +905,8 @@ static int start_lingering_close_nonbloc
     conn_rec *c = cs->c;
     apr_socket_t *csd = cs->pfd.desc.s;
 
-    if (c->aborted
+    if (ap_prep_lingering_close(c)
+        || c->aborted
         || ap_shutdown_conn(c, 0) != APR_SUCCESS || c->aborted
         || apr_socket_shutdown(csd, APR_SHUTDOWN_WRITE) != APR_SUCCESS) {
         apr_socket_close(csd);

Modified: httpd/httpd/branches/2.4.x/server/scoreboard.c
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/server/scoreboard.c?rev=1732275&r1=1732274&r2=1732275&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/server/scoreboard.c (original)
+++ httpd/httpd/branches/2.4.x/server/scoreboard.c Thu Feb 25 10:27:27 2016
@@ -32,6 +32,7 @@
 #include "http_main.h"
 #include "http_core.h"
 #include "http_config.h"
+#include "http_protocol.h"
 #include "ap_mpm.h"
 
 #include "scoreboard.h"
@@ -457,7 +458,9 @@ static int update_child_status_internal(
                                         int thread_num,
                                         int status,
                                         conn_rec *c,
-                                        request_rec *r)
+                                        server_rec *s,
+                                        request_rec *r,
+                                        const char *descr)
 {
     int old_status;
     worker_score *ws;
@@ -466,19 +469,22 @@ static int update_child_status_internal(
 
     ws = &ap_scoreboard_image->servers[child_num][thread_num];
     old_status = ws->status;
-    ws->status = status;
-
-    ps = &ap_scoreboard_image->parent[child_num];
-
-    if (status == SERVER_READY
-        && old_status == SERVER_STARTING) {
-        ws->thread_num = child_num * thread_limit + thread_num;
-        ap_mpm_query(AP_MPMQ_GENERATION, &mpm_generation);
-        ps->generation = mpm_generation;
+    if (status >= 0) {
+        ws->status = status;
+        
+        ps = &ap_scoreboard_image->parent[child_num];
+        
+        if (status == SERVER_READY
+            && old_status == SERVER_STARTING) {
+            ws->thread_num = child_num * thread_limit + thread_num;
+            ap_mpm_query(AP_MPMQ_GENERATION, &mpm_generation);
+            ps->generation = mpm_generation;
+        }
     }
 
     if (ap_extended_status) {
-        ws->last_used = apr_time_now();
+        const char *val;
+        
         if (status == SERVER_READY || status == SERVER_DEAD) {
             /*
              * Reset individual counters
@@ -489,28 +495,44 @@ static int update_child_status_internal(
             }
             ws->conn_count = 0;
             ws->conn_bytes = 0;
+            ws->last_used = apr_time_now();
         }
-        if (r) {
-            const char *client = ap_get_remote_host(c, r->per_dir_config,
-                                 REMOTE_NOLOOKUP, NULL);
-            if (!client || !strcmp(client, c->client_ip)) {
-                apr_cpystrn(ws->client, r->useragent_ip, sizeof(ws->client));
+        if (status == SERVER_READY) {
+            ws->client[0]='\0';
+            ws->vhost[0]='\0';
+            ws->request[0]='\0';
+            ws->protocol[0]='\0';
+        }
+        else {
+            if (descr) {
+                apr_cpystrn(ws->request, descr, sizeof(ws->request));
             }
-            else {
-                apr_cpystrn(ws->client, client, sizeof(ws->client));
+            else if (r) {
+                copy_request(ws->request, sizeof(ws->request), r);
             }
-            copy_request(ws->request, sizeof(ws->request), r);
-            if (r->server) {
-                apr_snprintf(ws->vhost, sizeof(ws->vhost), "%s:%d",
-                             r->server->server_hostname,
-                             r->connection->local_addr->port);
+            if (r || c) {
+                val = ap_get_remote_host(c, r? r->per_dir_config : NULL, 
+                                         REMOTE_NOLOOKUP, NULL);
+                if (r && (!val || !strcmp(val, c->client_ip))) {
+                    apr_cpystrn(ws->client, r->useragent_ip, sizeof(ws->client));
+                }
+                else {
+                    apr_cpystrn(ws->client, val, sizeof(ws->client));
+                }
+            }
+            if (s) {
+                if (c) {
+                    apr_snprintf(ws->vhost, sizeof(ws->vhost), "%s:%d",
+                                 s->server_hostname, c->local_addr->port);
+                }
+                else {
+                    apr_cpystrn(ws->vhost, s->server_hostname, sizeof(ws->vhost));
+                }
+            }
+            if (c) {
+                val = ap_get_protocol(c);
+                apr_cpystrn(ws->protocol, val, sizeof(ws->protocol));
             }
-        }
-        else if (c) {
-            apr_cpystrn(ws->client, ap_get_remote_host(c, NULL,
-                        REMOTE_NOLOOKUP, NULL), sizeof(ws->client));
-            ws->request[0]='\0';
-            ws->vhost[0]='\0';
         }
     }
 
@@ -528,7 +550,8 @@ AP_DECLARE(int) ap_update_child_status_f
 
     return update_child_status_internal(child_num, thread_num, status,
                                         r ? r->connection : NULL,
-                                        r);
+                                        r ? r->server : NULL,
+                                        r, NULL);
 }
 
 AP_DECLARE(int) ap_update_child_status(ap_sb_handle_t *sbh, int status,
@@ -540,17 +563,37 @@ AP_DECLARE(int) ap_update_child_status(a
     return update_child_status_internal(sbh->child_num, sbh->thread_num,
                                         status,
                                         r ? r->connection : NULL,
-                                        r);
+                                        r ? r->server : NULL,
+                                        r, NULL);
 }
 
 AP_DECLARE(int) ap_update_child_status_from_conn(ap_sb_handle_t *sbh, int status,
-                                       conn_rec *c)
+                                                 conn_rec *c)
+{
+    if (!sbh || (sbh->child_num < 0))
+        return -1;
+
+    return update_child_status_internal(sbh->child_num, sbh->thread_num,
+                                        status, c, NULL, NULL, NULL);
+}
+
+AP_DECLARE(int) ap_update_child_status_from_server(ap_sb_handle_t *sbh, int status, 
+                                                   conn_rec *c, server_rec *s)
+{
+    if (!sbh || (sbh->child_num < 0))
+        return -1;
+
+    return update_child_status_internal(sbh->child_num, sbh->thread_num,
+                                        status, c, s, NULL, NULL);
+}
+
+AP_DECLARE(int) ap_update_child_status_descr(ap_sb_handle_t *sbh, int status, const char *descr)
 {
     if (!sbh || (sbh->child_num < 0))
         return -1;
 
     return update_child_status_internal(sbh->child_num, sbh->thread_num,
-                                        status, c, NULL);
+                                        status, NULL, NULL, NULL, descr);
 }
 
 AP_DECLARE(void) ap_time_process_request(ap_sb_handle_t *sbh, int status)
@@ -567,10 +610,10 @@ AP_DECLARE(void) ap_time_process_request
     ws = &ap_scoreboard_image->servers[sbh->child_num][sbh->thread_num];
 
     if (status == START_PREQUEST) {
-        ws->start_time = apr_time_now();
+        ws->start_time = ws->last_used = apr_time_now();
     }
     else if (status == STOP_PREQUEST) {
-        ws->stop_time = apr_time_now();
+        ws->stop_time = ws->last_used = apr_time_now();
     }
 }
 
@@ -605,6 +648,7 @@ AP_DECLARE(void) ap_copy_scoreboard_work
     dest->client[sizeof(dest->client) - 1] = '\0';
     dest->request[sizeof(dest->request) - 1] = '\0';
     dest->vhost[sizeof(dest->vhost) - 1] = '\0';
+    dest->protocol[sizeof(dest->protocol) - 1] = '\0';
 }
 
 AP_DECLARE(process_score *) ap_get_scoreboard_process(int x)




Re: svn commit: r1732275 - in /httpd/httpd/branches/2.4.x: ./ include/ap_mmn.h include/http_connection.h include/scoreboard.h modules/generators/mod_status.c modules/ssl/ssl_engine_kernel.c server/connection.c server/mpm/event/event.c server/scoreboard.c

Posted by olli hauer <oh...@gmx.de>.
On 2016-04-14 21:47, Eric Covener wrote:
> On Thu, Apr 14, 2016 at 3:40 PM, olli hauer <oh...@gmx.de> wrote:
>> During the test the count of idle worker are incrementing and decrementing but it ab has finished the requests the count of idle workers stays on the last highest count ...
> 
> What was your MaxSpareThreads during the test?
> 

The system is running with the default settings:

<IfModule mpm_event_module>
    StartServers             3
    MinSpareThreads         75
    MaxSpareThreads        250
    ThreadsPerChild         25
    MaxRequestWorkers      400
    MaxConnectionsPerChild   0
</IfModule>


Re: svn commit: r1732275 - in /httpd/httpd/branches/2.4.x: ./ include/ap_mmn.h include/http_connection.h include/scoreboard.h modules/generators/mod_status.c modules/ssl/ssl_engine_kernel.c server/connection.c server/mpm/event/event.c server/scoreboard.c

Posted by Eric Covener <co...@gmail.com>.
On Thu, Apr 14, 2016 at 3:40 PM, olli hauer <oh...@gmx.de> wrote:
> During the test the count of idle worker are incrementing and decrementing but it ab has finished the requests the count of idle workers stays on the last highest count ...

What was your MaxSpareThreads during the test?

Re: svn commit: r1732275 - in /httpd/httpd/branches/2.4.x: ./ include/ap_mmn.h include/http_connection.h include/scoreboard.h modules/generators/mod_status.c modules/ssl/ssl_engine_kernel.c server/connection.c server/mpm/event/event.c server/scoreboard.c

Posted by olli hauer <oh...@gmx.de>.
On 2016-04-14 22:14, Yann Ylavic wrote:
> On Thu, Apr 14, 2016 at 10:05 PM, olli hauer <oh...@gmx.de> wrote:
>> On 2016-04-14 21:48, Yann Ylavic wrote:
>>> On Thu, Apr 14, 2016 at 9:40 PM, olli hauer <oh...@gmx.de> wrote:
>>>> I've done a quick test with
>>>>  $ ab -n 10000 -c 100 $host/$url
>>>>
>>>> During the test the count of idle worker are incrementing and decrementing but it ab has finished the requests the count of idle workers stays on the last highest count ...
>>>
>>> This looks normal to me, did the bahaviour changed w.r.t. 2.4.19?
>>>
>>> When the stress is running, the number of idlers (workers that do
>>> nothing) fluctuates, according to the number of connections/requests
>>> and children created to sustain the load.
>>>
>>> When the load stops, the number of idlers increases, and won't
>>> decrease unless MaxSpareThreads is reached (i.e. children are stopped,
>>> each releasing ThreadsPerChild idlers).
>>>
>>
>> Ah, OK this will explain the numbers.
>> Unluckily I haven't looked to scoreboard with 2.4.19, but give me some minutes ...
> 
> Could you also confirm with 2.4.20 + my patch that the Client, VHost
> and Request colomns are always filled with latest values (not empty)
> for idle workers (used at least once)?
> 
> This requires "ExtendedStatus on" (or default) for the corresponding
> table to be displayed by mod_status.
> 
> Thanks for testing!
> 

Yes, I can confirm this, see the log in the answer to Rainer.

-- 
olli

Re: svn commit: r1732275 - in /httpd/httpd/branches/2.4.x: ./ include/ap_mmn.h include/http_connection.h include/scoreboard.h modules/generators/mod_status.c modules/ssl/ssl_engine_kernel.c server/connection.c server/mpm/event/event.c server/scoreboard.c

Posted by Yann Ylavic <yl...@gmail.com>.
On Thu, Apr 14, 2016 at 10:05 PM, olli hauer <oh...@gmx.de> wrote:
> On 2016-04-14 21:48, Yann Ylavic wrote:
>> On Thu, Apr 14, 2016 at 9:40 PM, olli hauer <oh...@gmx.de> wrote:
>>> I've done a quick test with
>>>  $ ab -n 10000 -c 100 $host/$url
>>>
>>> During the test the count of idle worker are incrementing and decrementing but it ab has finished the requests the count of idle workers stays on the last highest count ...
>>
>> This looks normal to me, did the bahaviour changed w.r.t. 2.4.19?
>>
>> When the stress is running, the number of idlers (workers that do
>> nothing) fluctuates, according to the number of connections/requests
>> and children created to sustain the load.
>>
>> When the load stops, the number of idlers increases, and won't
>> decrease unless MaxSpareThreads is reached (i.e. children are stopped,
>> each releasing ThreadsPerChild idlers).
>>
>
> Ah, OK this will explain the numbers.
> Unluckily I haven't looked to scoreboard with 2.4.19, but give me some minutes ...

Could you also confirm with 2.4.20 + my patch that the Client, VHost
and Request colomns are always filled with latest values (not empty)
for idle workers (used at least once)?

This requires "ExtendedStatus on" (or default) for the corresponding
table to be displayed by mod_status.

Thanks for testing!

Re: svn commit: r1732275 - in /httpd/httpd/branches/2.4.x: ./ include/ap_mmn.h include/http_connection.h include/scoreboard.h modules/generators/mod_status.c modules/ssl/ssl_engine_kernel.c server/connection.c server/mpm/event/event.c server/scoreboard.c

Posted by Yann Ylavic <yl...@gmail.com>.
On Thu, Apr 14, 2016 at 10:58 PM, olli hauer <oh...@gmx.de> wrote:
>
> OK, I've attached the output from a 2.4.18 scoreboard some sec. after
>  ab -k -n 100000 -c 100 -f TLS1.2 $host/$url
>
> the 2.4.18 scoreboard looks similar to 2.4.20 with your patch

Thank you very much olli.

Re: svn commit: r1732275 - in /httpd/httpd/branches/2.4.x: ./ include/ap_mmn.h include/http_connection.h include/scoreboard.h modules/generators/mod_status.c modules/ssl/ssl_engine_kernel.c server/connection.c server/mpm/event/event.c server/scoreboard.c

Posted by olli hauer <oh...@gmx.de>.
On 2016-04-14 22:43, Yann Ylavic wrote:
> On Thu, Apr 14, 2016 at 10:28 PM, olli hauer <oh...@gmx.de> wrote:
>>
>> I've done some tests with 2.4.19 there is maybe an interesting detail.
>> With 2.4.19 the last request is empty for an idle worker, with 2.4.20 not (shows the client, proto, Vhost and request)
> 
> Sorry for the confusion, 2.4.19 (not released) contained the change
> already, the relevant version to compare with is 2.4.18...
> 

OK, I've attached the output from a 2.4.18 scoreboard some sec. after
 ab -k -n 100000 -c 100 -f TLS1.2 $host/$url

the 2.4.18 scoreboard looks similar to 2.4.20 with your patch

-- 
olli

Re: svn commit: r1732275 - in /httpd/httpd/branches/2.4.x: ./ include/ap_mmn.h include/http_connection.h include/scoreboard.h modules/generators/mod_status.c modules/ssl/ssl_engine_kernel.c server/connection.c server/mpm/event/event.c server/scoreboard.c

Posted by Yann Ylavic <yl...@gmail.com>.
On Thu, Apr 14, 2016 at 10:28 PM, olli hauer <oh...@gmx.de> wrote:
>
> I've done some tests with 2.4.19 there is maybe an interesting detail.
> With 2.4.19 the last request is empty for an idle worker, with 2.4.20 not (shows the client, proto, Vhost and request)

Sorry for the confusion, 2.4.19 (not released) contained the change
already, the relevant version to compare with is 2.4.18...

Re: svn commit: r1732275 - in /httpd/httpd/branches/2.4.x: ./ include/ap_mmn.h include/http_connection.h include/scoreboard.h modules/generators/mod_status.c modules/ssl/ssl_engine_kernel.c server/connection.c server/mpm/event/event.c server/scoreboard.c

Posted by olli hauer <oh...@gmx.de>.
On 2016-04-14 22:05, Rainer Jung wrote:
> Am 14.04.2016 um 22:05 schrieb olli hauer:
>> On 2016-04-14 21:48, Yann Ylavic wrote:
>>> On Thu, Apr 14, 2016 at 9:40 PM, olli hauer <oh...@gmx.de> wrote:
>>>> I've done a quick test with
>>>>   $ ab -n 10000 -c 100 $host/$url
>>>>
>>>> During the test the count of idle worker are incrementing and decrementing but it ab has finished the requests the count of idle workers stays on the last highest count ...
>>>
>>> This looks normal to me, did the bahaviour changed w.r.t. 2.4.19?
>>>
>>> When the stress is running, the number of idlers (workers that do
>>> nothing) fluctuates, according to the number of connections/requests
>>> and children created to sustain the load.
>>>
>>> When the load stops, the number of idlers increases, and won't
>>> decrease unless MaxSpareThreads is reached (i.e. children are stopped,
>>> each releasing ThreadsPerChild idlers).
>>>
>>
>> Ah, OK this will explain the numbers.
>> Unluckily I haven't looked to scoreboard with 2.4.19, but give me some minutes ...
> 
> Not that important for the current discussion, but please note that "ab" does not use Keep-Alive connections by default. If you want to use HTTP Keep-Alive, add "-k".
> 
> Without it you create many new connections per second (depending on throughput this can easily be more than 1000 connections per second) which are only used very shortly (one request) and after shutting down they might end up in TIME_WAIT and stay there e.g. for a minute depending on OS details (you can check via "netstat"). Once you get more than a few thousand connections in TIME_WAIT, TCP/IP could get slower. Thus "ab -k" will often result in more stable behavior.
> 

Hi Rainer,

Thanks for the hint!
(indeed without -k I can simulate the svnstat tool that pulled my svn servers down)

I've done some tests with 2.4.19 there is maybe an interesting detail.
With 2.4.19 the last request is empty for an idle worker, with 2.4.20 not (shows the client, proto, Vhost and request)

I've attached the results as .txt file.

-- 
olli

Re: svn commit: r1732275 - in /httpd/httpd/branches/2.4.x: ./ include/ap_mmn.h include/http_connection.h include/scoreboard.h modules/generators/mod_status.c modules/ssl/ssl_engine_kernel.c server/connection.c server/mpm/event/event.c server/scoreboard.c

Posted by Rainer Jung <ra...@kippdata.de>.
Am 14.04.2016 um 22:05 schrieb olli hauer:
> On 2016-04-14 21:48, Yann Ylavic wrote:
>> On Thu, Apr 14, 2016 at 9:40 PM, olli hauer <oh...@gmx.de> wrote:
>>> I've done a quick test with
>>>   $ ab -n 10000 -c 100 $host/$url
>>>
>>> During the test the count of idle worker are incrementing and decrementing but it ab has finished the requests the count of idle workers stays on the last highest count ...
>>
>> This looks normal to me, did the bahaviour changed w.r.t. 2.4.19?
>>
>> When the stress is running, the number of idlers (workers that do
>> nothing) fluctuates, according to the number of connections/requests
>> and children created to sustain the load.
>>
>> When the load stops, the number of idlers increases, and won't
>> decrease unless MaxSpareThreads is reached (i.e. children are stopped,
>> each releasing ThreadsPerChild idlers).
>>
>
> Ah, OK this will explain the numbers.
> Unluckily I haven't looked to scoreboard with 2.4.19, but give me some minutes ...

Not that important for the current discussion, but please note that "ab" 
does not use Keep-Alive connections by default. If you want to use HTTP 
Keep-Alive, add "-k".

Without it you create many new connections per second (depending on 
throughput this can easily be more than 1000 connections per second) 
which are only used very shortly (one request) and after shutting down 
they might end up in TIME_WAIT and stay there e.g. for a minute 
depending on OS details (you can check via "netstat"). Once you get more 
than a few thousand connections in TIME_WAIT, TCP/IP could get slower. 
Thus "ab -k" will often result in more stable behavior.

Regards,

Rainer


Re: svn commit: r1732275 - in /httpd/httpd/branches/2.4.x: ./ include/ap_mmn.h include/http_connection.h include/scoreboard.h modules/generators/mod_status.c modules/ssl/ssl_engine_kernel.c server/connection.c server/mpm/event/event.c server/scoreboard.c

Posted by olli hauer <oh...@gmx.de>.
On 2016-04-14 21:48, Yann Ylavic wrote:
> On Thu, Apr 14, 2016 at 9:40 PM, olli hauer <oh...@gmx.de> wrote:
>> I've done a quick test with
>>  $ ab -n 10000 -c 100 $host/$url
>>
>> During the test the count of idle worker are incrementing and decrementing but it ab has finished the requests the count of idle workers stays on the last highest count ...
> 
> This looks normal to me, did the bahaviour changed w.r.t. 2.4.19?
> 
> When the stress is running, the number of idlers (workers that do
> nothing) fluctuates, according to the number of connections/requests
> and children created to sustain the load.
> 
> When the load stops, the number of idlers increases, and won't
> decrease unless MaxSpareThreads is reached (i.e. children are stopped,
> each releasing ThreadsPerChild idlers).
> 

Ah, OK this will explain the numbers.
Unluckily I haven't looked to scoreboard with 2.4.19, but give me some minutes ...

-- 
olli

Re: svn commit: r1732275 - in /httpd/httpd/branches/2.4.x: ./ include/ap_mmn.h include/http_connection.h include/scoreboard.h modules/generators/mod_status.c modules/ssl/ssl_engine_kernel.c server/connection.c server/mpm/event/event.c server/scoreboard.c

Posted by Yann Ylavic <yl...@gmail.com>.
On Thu, Apr 14, 2016 at 9:40 PM, olli hauer <oh...@gmx.de> wrote:
> I've done a quick test with
>  $ ab -n 10000 -c 100 $host/$url
>
> During the test the count of idle worker are incrementing and decrementing but it ab has finished the requests the count of idle workers stays on the last highest count ...

This looks normal to me, did the bahaviour changed w.r.t. 2.4.19?

When the stress is running, the number of idlers (workers that do
nothing) fluctuates, according to the number of connections/requests
and children created to sustain the load.

When the load stops, the number of idlers increases, and won't
decrease unless MaxSpareThreads is reached (i.e. children are stopped,
each releasing ThreadsPerChild idlers).

Regards,
Yann.

Re: svn commit: r1732275 - in /httpd/httpd/branches/2.4.x: ./ include/ap_mmn.h include/http_connection.h include/scoreboard.h modules/generators/mod_status.c modules/ssl/ssl_engine_kernel.c server/connection.c server/mpm/event/event.c server/scoreboard.c

Posted by olli hauer <oh...@gmx.de>.
On 2016-04-14 20:36, Yann Ylavic wrote:
> On Thu, Apr 14, 2016 at 7:10 PM, olli hauer <oh...@gmx.de> wrote:
>> I got this morning a request from a FreeBSD user to back-port r1739008, and also already the feedback that scoreboard is usable again with the patch.
>> 
>> Since I cannot find a reference in branches/2.4.x/STATUS for r1739008 I told the user I will ask additional upstream devs if they think it is OK to include the patch until a new httpd release will be shipped.
> 
> r1739008+r1739146+r1739151 proposed for backport (full patch is [1]). Let's wait for votes...
> 
> Regards, Yann.
> 
> [1] http://home.apache.org/~ylavic/patches/httpd-2.4.x-scoreboard_preserve.patch
> 

Hi Yann,

thanks for the link!

I've done a quick test with
 $ ab -n 10000 -c 100 $host/$url

During the test the count of idle worker are incrementing and decrementing but it ab has finished the requests the count of idle workers stays on the last highest count ...


httpd some seconds after start:
---------------------------------------------
Server Version: Apache/2.4.20 (FreeBSD) OpenSSL/1.0.2g SVN/1.8.15 mod_wsgi/4.4.22 Python/2.7.11
Server MPM: event
Server Built: Apr 14 2016 21:09:43

Current Time: Thursday, 14-Apr-2016 21:22:13 CEST
Restart Time: Thursday, 14-Apr-2016 21:22:09 CEST
Parent Server Config. Generation: 1
Parent Server MPM Generation: 0
Server uptime: 4 seconds
Server load: 0.29 1.36 1.11
Total accesses: 0 - Total Traffic: 0 kB
CPU Usage: u0 s0 cu0 cs0
0 requests/sec - 0 B/second -
1 requests currently being processed, 74 idle workers

PID	Connections 	Threads	Async connections
total	accepting	busy	idle	writing	keep-alive	closing
31501	0	yes	0	25	0	0	0
31502	0	yes	1	24	0	0	0
31503	0	yes	0	25	0	0	0
Sum	0	 	1	74	0	0	0


after some manual requests:
---------------------------------------------
Current Time: Thursday, 14-Apr-2016 21:22:48 CEST
Restart Time: Thursday, 14-Apr-2016 21:22:09 CEST
Parent Server Config. Generation: 1
Parent Server MPM Generation: 0
Server uptime: 39 seconds
Server load: 0.28 1.24 1.08
Total accesses: 5 - Total Traffic: 18 kB
CPU Usage: u.0234375 s0 cu0 cs0 - .0601% CPU load
.128 requests/sec - 472 B/second - 3686 B/request
1 requests currently being processed, 99 idle workers

PID	Connections 	Threads	Async connections
total	accepting	busy	idle	writing	keep-alive	closing
31501	0	yes	0	25	0	0	0
31502	1	yes	1	24	0	0	0
31503	0	yes	0	25	0	0	0
31505	0	yes	0	25	0	0	0
Sum	1	 	1	99	0	0	0


give some load with ab -n 10000 -c 100
---------------------------------------------
Current Time: Thursday, 14-Apr-2016 21:23:29 CEST
Restart Time: Thursday, 14-Apr-2016 21:22:09 CEST
Parent Server Config. Generation: 1
Parent Server MPM Generation: 0
Server uptime: 1 minute 20 seconds
Server load: 1.49 1.38 1.13
Total accesses: 3315 - Total Traffic: 923 kB
CPU Usage: u36.7969 s.570313 cu0 cs0 - 46.7% CPU load
41.4 requests/sec - 11.5 kB/second - 285 B/request
86 requests currently being processed, 89 idle workers

PID	Connections 	Threads	Async connections
total	accepting	busy	idle	writing	keep-alive	closing
31501	3	yes	1	24	0	0	0
31502	2	yes	0	25	0	0	1
31503	25	yes	25	0	0	0	1
31505	25	yes	21	4	0	0	1
31579	2	yes	23	2	0	0	0
31580	3	yes	14	11	0	0	0
31581	3	yes	2	23	0	0	1
Sum	63	 	86	89	0	0	4


During the test the idle workers are going up and down but stay on the highest value after the test is finished.


ab requests finished, wait some time ...
------------------------------------------------------
Current Time: Thursday, 14-Apr-2016 21:29:12 CEST
Restart Time: Thursday, 14-Apr-2016 21:22:09 CEST
Parent Server Config. Generation: 1
Parent Server MPM Generation: 0
Server uptime: 7 minutes 3 seconds
Server load: 0.20 0.71 0.92
Total accesses: 10024 - Total Traffic: 2.9 MB
CPU Usage: u109.984 s1.4375 cu0 cs0 - 26.3% CPU load
23.7 requests/sec - 7.0 kB/second - 302 B/request
1 requests currently being processed, 174 idle workers

PID	Connections 	Threads	Async connections
total	accepting	busy	idle	writing	keep-alive	closing
31501	0	yes	0	25	0	0	0
31502	0	yes	0	25	0	0	0
31503	0	yes	0	25	0	0	0
31505	0	yes	0	25	0	0	0
31579	0	yes	0	25	0	0	0
31580	0	yes	0	25	0	0	0
31581	1	yes	1	24	0	1	0
Sum	1	 	1	174	0	1	0


running ab again (snapshot during the requests)
------------------------------------------------------
Restart Time: Thursday, 14-Apr-2016 21:22:09 CEST
Parent Server Config. Generation: 1
Parent Server MPM Generation: 0
Server uptime: 8 minutes 34 seconds
Server load: 4.30 1.53 1.19
Total accesses: 16090 - Total Traffic: 4.4 MB
CPU Usage: u176.695 s2.39063 cu0 cs0 - 34.8% CPU load
31.3 requests/sec - 8.7 kB/second - 284 B/request
98 requests currently being processed, 77 idle workers

PID	Connections 	Threads	Async connections
total	accepting	busy	idle	writing	keep-alive	closing
31501	0	yes	9	16	0	0	0
31502	2	yes	13	12	0	0	1
31503	13	yes	13	12	0	0	0
31505	13	yes	20	5	0	1	0
31579	0	yes	25	0	0	0	0
31580	3	yes	3	22	0	0	0
31581	6	yes	15	10	0	0	0
Sum	37	 	98	77	0	1	1


ab finished, wait some time ...
------------------------------------------------------

Current Time: Thursday, 14-Apr-2016 21:32:31 CEST
Restart Time: Thursday, 14-Apr-2016 21:22:09 CEST
Parent Server Config. Generation: 1
Parent Server MPM Generation: 0
Server uptime: 10 minutes 21 seconds
Server load: 1.31 1.46 1.21
Total accesses: 20033 - Total Traffic: 5.4 MB
CPU Usage: u219.664 s3.0625 cu0 cs0 - 35.9% CPU load
32.3 requests/sec - 8.9 kB/second - 282 B/request
1 requests currently being processed, 174 idle workers

PID	Connections 	Threads	Async connections
total	accepting	busy	idle	writing	keep-alive	closing
31501	0	yes	0	25	0	0	0
31502	0	yes	0	25	0	0	0
31503	0	yes	0	25	0	0	0
31505	0	yes	1	24	0	0	0
31579	0	yes	0	25	0	0	0
31580	0	yes	0	25	0	0	0
31581	0	yes	0	25	0	0	0
Sum	0	 	1	174	0	0	0


Re: svn commit: r1732275 - in /httpd/httpd/branches/2.4.x: ./ include/ap_mmn.h include/http_connection.h include/scoreboard.h modules/generators/mod_status.c modules/ssl/ssl_engine_kernel.c server/connection.c server/mpm/event/event.c server/scoreboard.c

Posted by Yann Ylavic <yl...@gmail.com>.
On Thu, Apr 14, 2016 at 7:10 PM, olli hauer <oh...@gmx.de> wrote:
> I got this morning a request from a FreeBSD user to back-port r1739008, and
> also already the feedback that scoreboard is usable again with the patch.
>
> Since I cannot find a reference in branches/2.4.x/STATUS for r1739008 I told the
> user I will ask additional upstream devs if they think it is OK to include
> the patch until a new httpd release will be shipped.

r1739008+r1739146+r1739151 proposed for backport (full patch is [1]).
Let's wait for votes...

Regards,
Yann.

[1] http://home.apache.org/~ylavic/patches/httpd-2.4.x-scoreboard_preserve.patch

Re: svn commit: r1732275 - in /httpd/httpd/branches/2.4.x: ./ include/ap_mmn.h include/http_connection.h include/scoreboard.h modules/generators/mod_status.c modules/ssl/ssl_engine_kernel.c server/connection.c server/mpm/event/event.c server/scoreboard.c

Posted by olli hauer <oh...@gmx.de>.
On 2016-04-13 22:04, Yann Ylavic wrote:
> On Thu, Feb 25, 2016 at 11:27 AM,  <ic...@apache.org> wrote:
>> Author: icing
>> Date: Thu Feb 25 10:27:27 2016
>> New Revision: 1732275
>>
>> URL: http://svn.apache.org/viewvc?rev=1732275&view=rev
>> Log:
>> merging pre_close_connection hook, prep_lingering_close and ap_update_child() additions from trunk
>>
>> Modified:
> []
>>     httpd/httpd/branches/2.4.x/server/scoreboard.c
> []
...
> 
> This seems to have changed mod_status' output.
> Prior to this change the previous values were displayed until the
> worker was reused for another connection/request, now it is reset as
> soon as the worker is idle (i.e. each connection/request end).
> 
> I prefer the new behaviour, but there are some concerns on users@...
> 

I got this morning a request from a FreeBSD user to back-port r1739008, and
also already the feedback that scoreboard is usable again with the patch.

Since I cannot find a reference in branches/2.4.x/STATUS for r1739008 I told the
user I will ask additional upstream devs if they think it is OK to include
the patch until a new httpd release will be shipped.


Do you see any potential issues if r1739008 will be back-ported, or is there
additional work for a better patch in work?

-- 
olli

Re: Unintended Side Effects (Was: Re: svn commit: r1732275 - in /httpd/httpd/branches/2.4.x: ./ include/ap_mmn.h include/http_connection.h include/scoreboard.h modules/generators/mod_status.c modules/ssl/ssl_engine_kernel.c server/connection.c server/mpm/event/event.c server/scoreboard.c)

Posted by Stefan Eissing <st...@greenbytes.de>.
> Am 14.04.2016 um 15:09 schrieb Jim Jagielski <ji...@jaguNET.com>:
> 
> We should always ensure that when we fix something, or
> when we add something, we don't change the current behavior
> of httpd in an unintended way. This rev is a great example of
> that. The clearing of those scoreboard slots is completely
> unrelated to the actual change itself.

Yes, I meant well, but should have known better or at least
asked for confirmation on the list. I have no excuse.

Scoreboard is one of the areas where unwanted changes can slip
through more easily than in other places, as there are no test
cases covering this text output.

Since its functionality is vital for a lot of users, maybe
we should invest into having a formatted, parseable variant
of its output. That we could use in tests.

> Of course, the "blame" is shared because even if the patch
> does change something, it is up to all of us to review it,
> not just by running and testing the code, but actually
> *inspecting* the patch for what it does.
> 
> The very fact that this change made it all the way
> thru the backport process to end up in 2.4.x is a reminder
> that we all need to stay vigilant.

Anything that is not covered by test code will break sooner
or later unless the original, sole author becomes immortal.

That is not meant as an excuse, just an observation.

-Stefan

Unintended Side Effects (Was: Re: svn commit: r1732275 - in /httpd/httpd/branches/2.4.x: ./ include/ap_mmn.h include/http_connection.h include/scoreboard.h modules/generators/mod_status.c modules/ssl/ssl_engine_kernel.c server/connection.c server/mpm/event/event.c server/scoreboard.c)

Posted by Jim Jagielski <ji...@jaguNET.com>.
We should always ensure that when we fix something, or
when we add something, we don't change the current behavior
of httpd in an unintended way. This rev is a great example of
that. The clearing of those scoreboard slots is completely
unrelated to the actual change itself.

Of course, the "blame" is shared because even if the patch
does change something, it is up to all of us to review it,
not just by running and testing the code, but actually
*inspecting* the patch for what it does.

The very fact that this change made it all the way
thru the backport process to end up in 2.4.x is a reminder
that we all need to stay vigilant.


Re: svn commit: r1732275 - in /httpd/httpd/branches/2.4.x: ./ include/ap_mmn.h include/http_connection.h include/scoreboard.h modules/generators/mod_status.c modules/ssl/ssl_engine_kernel.c server/connection.c server/mpm/event/event.c server/scoreboard.c

Posted by Jim Jagielski <ji...@jaguNET.com>.
The old behavior was expected, and very, very useful. It
was made that way for a reason.

+1 on reverting to old behavior...

> On Apr 13, 2016, at 4:04 PM, Yann Ylavic <yl...@gmail.com> wrote:
> 
> On Thu, Feb 25, 2016 at 11:27 AM,  <ic...@apache.org> wrote:
>> Author: icing
>> Date: Thu Feb 25 10:27:27 2016
>> New Revision: 1732275
>> 
>> URL: http://svn.apache.org/viewvc?rev=1732275&view=rev
>> Log:
>> merging pre_close_connection hook, prep_lingering_close and ap_update_child() additions from trunk
>> 
>> Modified:
> []
>>    httpd/httpd/branches/2.4.x/server/scoreboard.c
> []
>> 
>> Modified: httpd/httpd/branches/2.4.x/server/scoreboard.c
>> URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/server/scoreboard.c?rev=1732275&r1=1732274&r2=1732275&view=diff
>> ==============================================================================
>> --- httpd/httpd/branches/2.4.x/server/scoreboard.c (original)
>> +++ httpd/httpd/branches/2.4.x/server/scoreboard.c Thu Feb 25 10:27:27 2016
>> @@ -32,6 +32,7 @@
>> #include "http_main.h"
>> #include "http_core.h"
>> #include "http_config.h"
>> +#include "http_protocol.h"
>> #include "ap_mpm.h"
>> 
>> #include "scoreboard.h"
>> @@ -457,7 +458,9 @@ static int update_child_status_internal(
>>                                         int thread_num,
>>                                         int status,
>>                                         conn_rec *c,
>> -                                        request_rec *r)
>> +                                        server_rec *s,
>> +                                        request_rec *r,
>> +                                        const char *descr)
>> {
>>     int old_status;
>>     worker_score *ws;
> []
>> @@ -489,28 +495,44 @@ static int update_child_status_internal(
>>             }
>>             ws->conn_count = 0;
>>             ws->conn_bytes = 0;
>> +            ws->last_used = apr_time_now();
>>         }
>> -        if (r) {
>> -            const char *client = ap_get_remote_host(c, r->per_dir_config,
>> -                                 REMOTE_NOLOOKUP, NULL);
>> -            if (!client || !strcmp(client, c->client_ip)) {
>> -                apr_cpystrn(ws->client, r->useragent_ip, sizeof(ws->client));
>> +        if (status == SERVER_READY) {
>> +            ws->client[0]='\0';
>> +            ws->vhost[0]='\0';
>> +            ws->request[0]='\0';
>> +            ws->protocol[0]='\0';
>> +        }
> 
> This seems to have changed mod_status' output.
> Prior to this change the previous values were displayed until the
> worker was reused for another connection/request, now it is reset as
> soon as the worker is idle (i.e. each connection/request end).
> 
> I prefer the new behaviour, but there are some concerns on users@...


Re: svn commit: r1732275 - in /httpd/httpd/branches/2.4.x: ./ include/ap_mmn.h include/http_connection.h include/scoreboard.h modules/generators/mod_status.c modules/ssl/ssl_engine_kernel.c server/connection.c server/mpm/event/event.c server/scoreboard.c

Posted by Yann Ylavic <yl...@gmail.com>.
On Thu, Feb 25, 2016 at 11:27 AM,  <ic...@apache.org> wrote:
> Author: icing
> Date: Thu Feb 25 10:27:27 2016
> New Revision: 1732275
>
> URL: http://svn.apache.org/viewvc?rev=1732275&view=rev
> Log:
> merging pre_close_connection hook, prep_lingering_close and ap_update_child() additions from trunk
>
> Modified:
[]
>     httpd/httpd/branches/2.4.x/server/scoreboard.c
[]
>
> Modified: httpd/httpd/branches/2.4.x/server/scoreboard.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/server/scoreboard.c?rev=1732275&r1=1732274&r2=1732275&view=diff
> ==============================================================================
> --- httpd/httpd/branches/2.4.x/server/scoreboard.c (original)
> +++ httpd/httpd/branches/2.4.x/server/scoreboard.c Thu Feb 25 10:27:27 2016
> @@ -32,6 +32,7 @@
>  #include "http_main.h"
>  #include "http_core.h"
>  #include "http_config.h"
> +#include "http_protocol.h"
>  #include "ap_mpm.h"
>
>  #include "scoreboard.h"
> @@ -457,7 +458,9 @@ static int update_child_status_internal(
>                                          int thread_num,
>                                          int status,
>                                          conn_rec *c,
> -                                        request_rec *r)
> +                                        server_rec *s,
> +                                        request_rec *r,
> +                                        const char *descr)
>  {
>      int old_status;
>      worker_score *ws;
[]
> @@ -489,28 +495,44 @@ static int update_child_status_internal(
>              }
>              ws->conn_count = 0;
>              ws->conn_bytes = 0;
> +            ws->last_used = apr_time_now();
>          }
> -        if (r) {
> -            const char *client = ap_get_remote_host(c, r->per_dir_config,
> -                                 REMOTE_NOLOOKUP, NULL);
> -            if (!client || !strcmp(client, c->client_ip)) {
> -                apr_cpystrn(ws->client, r->useragent_ip, sizeof(ws->client));
> +        if (status == SERVER_READY) {
> +            ws->client[0]='\0';
> +            ws->vhost[0]='\0';
> +            ws->request[0]='\0';
> +            ws->protocol[0]='\0';
> +        }

This seems to have changed mod_status' output.
Prior to this change the previous values were displayed until the
worker was reused for another connection/request, now it is reset as
soon as the worker is idle (i.e. each connection/request end).

I prefer the new behaviour, but there are some concerns on users@...