Knowledge (XXG)

kqueue

Source ๐Ÿ“

464: 3417: 450: 187: 371:
array can be used to pass modifications (changing the type of events to wait for, register new event sources, etc.) to the event queue, which are applied before waiting for events begins.
640: 2164: 1875: 1053: 197: 367:, kqueue uses the same function to register and wait for events, and multiple event sources may be registered and modified using a single call. The 3175: 3482: 1110: 469: 1950: 2184: 2046: 1890: 1846: 1487: 1226: 1098: 632: 1429: 1241: 841: 700: 230: 1682: 1392: 3055: 2316: 1372: 3477: 2090: 1826: 989: 1387: 1382: 873: 122:
resolution, furthermore kqueue provides a way to use user-defined events in addition to the ones provided by the kernel.
496: 148: 3442: 3300: 3150: 2941: 2891: 2886: 2560: 2346: 1981: 455: 212: 156: 78: 3362: 3160: 1464: 1263: 58: 363:
Used to register events with the queue, then wait for and return any pending events to the user. In contrast to
2956: 2846: 1035: 3305: 3265: 3235: 3195: 3002: 2866: 2006: 1943: 1459: 933: 888: 99: 65:. Thus, it is possible to modify event filters as well as receive pending events while using only a single 3467: 3240: 3190: 2734: 2680: 2570: 2179: 2051: 1895: 1777: 1216: 1156: 1068: 910: 3487: 3447: 3065: 3007: 2739: 2717: 2575: 2421: 2341: 2336: 2267: 2038: 1796: 1422: 961: 834: 595: 688:
The Architecture of Open Source Applications, Volume II: Structure, Scale and a Few More Fearless Hacks
2871: 2790: 2707: 2675: 2386: 2356: 2152: 2137: 2078: 1863: 1675: 1594: 1342: 1250: 994: 518:
is a Linux kernel subsystem that notices changes to the filesystem and reports those to applications.
62: 3377: 3372: 3210: 2936: 2896: 2822: 2640: 2381: 2309: 2142: 2095: 1731: 1497: 1025: 3275: 3185: 3080: 2997: 2881: 2580: 2550: 2442: 1994: 1987: 1936: 1633: 1221: 893: 878: 759: 732: 573: 103: 3387: 3290: 3045: 2931: 2921: 2901: 2815: 2785: 2755: 2670: 2610: 2590: 2545: 2478: 1201: 1196: 868: 696: 152: 43: 3457: 3452: 3310: 2966: 2961: 2906: 2861: 2697: 2630: 2620: 2565: 2555: 2416: 2406: 2156: 2125: 1968: 1867: 1841: 1517: 1415: 1211: 1045: 1013: 827: 126: 107: 810: 91:
which are less efficient, especially when polling for events on numerous file descriptors.
3462: 3295: 3285: 3255: 3125: 2992: 2951: 2856: 2851: 2765: 2687: 2660: 2457: 2401: 2174: 1885: 1668: 1649: 1063: 984: 95: 792: 783: 801: 3472: 3421: 3280: 3180: 3110: 3085: 3023: 2655: 2645: 2498: 2488: 2447: 2411: 2302: 2283: 2115: 1905: 1831: 1502: 1327: 1191: 1186: 619: 499:. Note that completion ports notify when a requested operation has completed, whereas 3436: 3357: 3260: 2946: 2926: 2635: 2540: 2513: 2503: 2493: 2452: 2396: 2391: 2204: 2068: 1976: 1959: 1910: 1814: 1612: 1552: 1275: 1093: 1001: 923: 883: 564: 130: 111: 86: 35: 3367: 3205: 3165: 3075: 2987: 2911: 2508: 2483: 2473: 2351: 2262: 2130: 2019: 1617: 1322: 1166: 1018: 946: 51: 42:. Kqueue was originally authored in 2000 by Jonathan Lemon, then involved with the 173:, which translates calls to an operating system's native backend event mechanism. 628: 3230: 3135: 3105: 3095: 3070: 3060: 2650: 2595: 2194: 2105: 2063: 2058: 2034: 1792: 1782: 1295: 1231: 1088: 449: 66: 3270: 3250: 3225: 3155: 3145: 3130: 3115: 3050: 2625: 2615: 2255: 2189: 1564: 1377: 1270: 1206: 1078: 974: 445: 166: 119: 74: 3382: 3170: 3140: 3120: 3100: 2971: 2916: 2876: 2665: 2437: 1542: 1537: 503:
can also notify when a file descriptor is ready to perform an I/O operation.
774: 686: 3090: 2760: 2702: 2585: 2373: 2199: 1900: 1757: 1589: 1532: 1527: 1522: 1507: 1332: 1305: 1300: 1290: 1285: 1146: 1083: 1073: 769: 742: 692: 629:
Proceedings of the FREENIX Track: 2001 USENIX Annual Technical Conference
480: 1928: 775:
libbrb_core implements an abstraction for an event-oriented base, using
682: 544: 3325: 3215: 3035: 2605: 2600: 2245: 2083: 2024: 1853: 1547: 1454: 1439: 1367: 1310: 1280: 1141: 1136: 1030: 860: 851: 765: 738: 660: 556: 552: 515: 57:
Kqueue provides efficient input and output event pipelines between the
31: 23: 1407: 819: 715: 3315: 3245: 3220: 3200: 3040: 2810: 2800: 2250: 2240: 2225: 2220: 2110: 2014: 1915: 1804: 1772: 1767: 1762: 1723: 1707: 1692: 1660: 1557: 1512: 1482: 1317: 1161: 1131: 1126: 1103: 941: 719: 560: 54:. The term "kqueue" refers to its function as a "kernel event queue" 27: 139:
also currently provide more efficient polling alternatives, such as
3341: 3392: 2805: 2795: 2726: 2325: 2230: 2120: 2073: 1836: 1819: 1736: 1574: 1569: 1355: 1350: 1006: 951: 665: 584: 509: 485: 364: 144: 140: 115: 47: 39: 2692: 2169: 2100: 1880: 1809: 1741: 1584: 1579: 1492: 1363: 1058: 979: 969: 918: 583:"kqueue, kevent, EV_SET โ€” kernel event notification mechanism". 98:
events but is also used for various other notifications such as
2298: 1932: 1664: 1411: 823: 3320: 1359: 1258: 180: 16:
Kernel event notification mechanism for BSD operating systems
641:"KQueueโ€“A Generic and Scalable Event Notification Facility" 379:
array that is used to receive events from the event queue.
269:
Creates a new kernel event queue and returns a descriptor.
621:
Kqueue: A generic and scalable event notification facility
594:"kqueue, kevent -- kernel event notification mechanism". 572:"kqueue, kevent -- kernel event notification mechanism". 22:
is a scalable event notification interface introduced in
2294: 434:
A macro that is used for convenient initialization of a
208: 545:"kqueue, kevent โ€” kernel event notification mechanism" 204: 512:
system call has similar but not identical semantics.
3350: 3334: 3020: 2980: 2835: 2778: 2748: 2725: 2716: 2533: 2526: 2466: 2430: 2372: 2365: 2276: 2213: 2151: 2033: 2005: 1967: 1862: 1791: 1750: 1716: 1700: 1642: 1626: 1605: 1475: 1447: 1341: 1249: 1240: 1179: 1119: 1044: 960: 932: 909: 902: 859: 476:OS-independent libraries with support for kqueue: 77:iteration. This contrasts with older traditional 243:The function prototypes and types are found in 2310: 1944: 1676: 1423: 835: 46:. Kqueue makes it possible for software like 8: 3028: 2839: 2722: 2530: 2369: 2317: 2303: 2295: 1951: 1937: 1929: 1683: 1669: 1661: 1430: 1416: 1408: 1246: 906: 842: 828: 820: 613: 611: 609: 231:Learn how and when to remove this message 203:Relevant discussion may be found on the 530: 491:Kqueue equivalent for other platforms: 215:to additional sources at this section. 538: 536: 534: 7: 685:. In Amy Brown; Greg Wilson (eds.). 470:Free and open-source software portal 26:4.1 in July 2000, also supported in 129:which traditionally only supported 196:relies largely or entirely upon a 14: 811:DragonFly BSD source code of the 375:is the size of the user supplied 3416: 3415: 462: 448: 185: 3056:Apple Push Notification service 661:"Connection processing methods" 597:DragonFly On-Line Manual Pages 1: 874:FreeBSD Documentation License 635:(published June 25โ€“30, 2001). 618:Jonathan Lemon (2001-05-01). 495:on Solaris, Windows and AIX: 114:state change monitoring, and 100:file modification monitoring 3483:Operating system technology 3301:System Integrity Protection 1982:Light Weight Kernel Threads 793:OpenBSD source code of the 784:FreeBSD source code of the 456:Computer programming portal 3504: 802:NetBSD source code of the 586:OpenBSD manual page server 3412:denote upcoming products. 3405: 3031: 2842: 2332: 1036:Highly Available STorage 381: 271: 249: 94:Kqueue not only handles 3306:Uniform Type Identifier 3003:Remote Install Mac OS X 2867:Bluetooth File Exchange 2007:OS-level virtualisation 681:Andrew Alexeev (2012). 543:Jonathan Lemon (2000). 3191:Grand Central Dispatch 1217:Marshall Kirk McKusick 3478:Operating system APIs 81:system calls such as 575:FreeBSD Manual Pages 497:I/O completion ports 209:improve this article 149:I/O completion ports 3373:Classic Environment 2942:Migration Assistant 2897:Digital Color Meter 2779:Former Applications 2641:Notification Center 1393:PlayStation Vita OS 549:BSD Cross Reference 3443:Events (computing) 3021:Technologies & 2998:ODBC Administrator 2957:System Information 2443:10.8 Mountain Lion 1995:Kernel Normal Form 1988:serializing tokens 1751:Notable subsystems 1634:OpenBSD Foundation 1373:Nintendo Switch OS 1222:Diomidis Spinellis 894:Kernel Normal Form 879:FreeBSD Foundation 169:implementation of 3430: 3429: 3401: 3400: 3046:Apple File System 3016: 3015: 2902:Directory Utility 2831: 2830: 2774: 2773: 2756:Interface Builder 2534:Core Applications 2522: 2521: 2479:10.13 High Sierra 2422:10.6 Snow Leopard 2292: 2291: 1926: 1925: 1658: 1657: 1465:security features 1405: 1404: 1401: 1400: 1197:Poul-Henning Kamp 1175: 1174: 869:FreeBSD Core Team 241: 240: 233: 127:operating systems 44:FreeBSD Core Team 3495: 3419: 3418: 3311:Universal binary 3029: 2967:Universal Access 2907:DiskImageMounter 2862:Audio MIDI Setup 2847:Activity Monitor 2840: 2723: 2666:Quicktime Player 2531: 2458:10.11 El Capitan 2370: 2319: 2312: 2305: 2296: 1969:Operating system 1953: 1946: 1939: 1930: 1717:Related projects 1701:Operating system 1685: 1678: 1671: 1662: 1476:Related projects 1448:Operating system 1432: 1425: 1418: 1409: 1388:PlayStation 4 OS 1383:PlayStation 3 OS 1247: 907: 844: 837: 830: 821: 814: 805: 796: 787: 778: 763: 762: 745: 736: 735: 728: 722: 713: 707: 706: 678: 672: 671: 657: 651: 648: 636: 626: 615: 604: 601: 590: 579: 568: 540: 502: 472: 467: 466: 465: 458: 453: 452: 437: 430: 427: 424: 421: 418: 415: 412: 409: 406: 403: 400: 397: 394: 391: 388: 385: 378: 374: 370: 359: 356: 353: 350: 347: 344: 341: 338: 335: 332: 329: 326: 323: 320: 317: 314: 311: 308: 305: 302: 299: 296: 293: 290: 287: 284: 281: 278: 275: 265: 262: 259: 256: 253: 246: 236: 229: 225: 222: 216: 189: 188: 181: 172: 164: 138: 133: 108:asynchronous I/O 89: 84: 72: 3503: 3502: 3498: 3497: 3496: 3494: 3493: 3492: 3433: 3432: 3431: 3426: 3397: 3346: 3330: 3286:Speakable items 3256:Preference Pane 3236:Mission Control 3126:Core Foundation 3022: 3012: 3008:Software Update 2993:Network Utility 2976: 2952:System Settings 2937:Keychain Access 2857:Archive Utility 2852:AirPort Utility 2827: 2770: 2766:Quartz Composer 2744: 2718:Developer Tools 2712: 2681:version history 2518: 2462: 2426: 2361: 2328: 2323: 2293: 2288: 2272: 2209: 2147: 2029: 2001: 1963: 1957: 1927: 1922: 1858: 1787: 1746: 1712: 1696: 1689: 1659: 1654: 1650:OpenBSD Journal 1638: 1622: 1601: 1471: 1460:version history 1443: 1436: 1406: 1397: 1337: 1236: 1171: 1115: 1040: 956: 928: 898: 889:Version History 855: 848: 812: 803: 794: 785: 776: 758: 757: 754: 749: 748: 731: 730: 729: 725: 714: 710: 703: 680: 679: 675: 659: 658: 654: 639: 624: 617: 616: 607: 593: 582: 571: 542: 541: 532: 527: 500: 468: 463: 461: 454: 447: 444: 435: 432: 431: 428: 425: 422: 419: 416: 413: 410: 407: 404: 401: 398: 395: 392: 389: 386: 383: 376: 372: 368: 361: 360: 357: 354: 351: 348: 345: 342: 339: 336: 333: 330: 327: 324: 321: 318: 315: 312: 309: 306: 303: 300: 297: 294: 291: 288: 285: 282: 279: 276: 273: 267: 266: 263: 260: 257: 254: 251: 244: 237: 226: 220: 217: 211:by introducing 202: 190: 186: 179: 170: 162: 136: 131: 96:file descriptor 87: 82: 70: 17: 12: 11: 5: 3501: 3499: 3491: 3490: 3485: 3480: 3475: 3470: 3465: 3460: 3455: 3450: 3445: 3435: 3434: 3428: 3427: 3425: 3424: 3413: 3406: 3403: 3402: 3399: 3398: 3396: 3395: 3390: 3385: 3380: 3375: 3370: 3365: 3360: 3354: 3352: 3348: 3347: 3345: 3344: 3338: 3336: 3332: 3331: 3329: 3328: 3323: 3318: 3313: 3308: 3303: 3298: 3293: 3288: 3283: 3278: 3273: 3268: 3263: 3258: 3253: 3248: 3243: 3238: 3233: 3228: 3223: 3218: 3213: 3208: 3203: 3198: 3193: 3188: 3183: 3178: 3173: 3168: 3163: 3158: 3153: 3148: 3143: 3138: 3133: 3128: 3123: 3118: 3113: 3111:Core Animation 3108: 3103: 3098: 3093: 3088: 3083: 3078: 3073: 3068: 3063: 3058: 3053: 3048: 3043: 3038: 3032: 3026: 3024:User Interface 3018: 3017: 3014: 3013: 3011: 3010: 3005: 3000: 2995: 2990: 2984: 2982: 2978: 2977: 2975: 2974: 2969: 2964: 2959: 2954: 2949: 2944: 2939: 2934: 2929: 2924: 2919: 2914: 2909: 2904: 2899: 2894: 2892:Crash Reporter 2889: 2884: 2879: 2874: 2869: 2864: 2859: 2854: 2849: 2843: 2837: 2833: 2832: 2829: 2828: 2826: 2825: 2820: 2819: 2818: 2808: 2803: 2798: 2793: 2788: 2782: 2780: 2776: 2775: 2772: 2771: 2769: 2768: 2763: 2758: 2752: 2750: 2746: 2745: 2743: 2742: 2737: 2731: 2729: 2720: 2714: 2713: 2711: 2710: 2705: 2700: 2695: 2690: 2685: 2684: 2683: 2673: 2668: 2663: 2658: 2653: 2648: 2643: 2638: 2633: 2628: 2623: 2618: 2613: 2608: 2603: 2598: 2593: 2588: 2583: 2578: 2573: 2571:Control Center 2568: 2563: 2558: 2553: 2548: 2543: 2537: 2535: 2528: 2524: 2523: 2520: 2519: 2517: 2516: 2511: 2506: 2501: 2496: 2491: 2489:10.15 Catalina 2486: 2481: 2476: 2470: 2468: 2464: 2463: 2461: 2460: 2455: 2453:10.10 Yosemite 2450: 2448:10.9 Mavericks 2445: 2440: 2434: 2432: 2428: 2427: 2425: 2424: 2419: 2414: 2409: 2404: 2399: 2394: 2389: 2384: 2378: 2376: 2367: 2363: 2362: 2360: 2359: 2354: 2349: 2344: 2339: 2333: 2330: 2329: 2324: 2322: 2321: 2314: 2307: 2299: 2290: 2289: 2287: 2286: 2284:Matthew Dillon 2280: 2278: 2274: 2273: 2271: 2270: 2265: 2260: 2259: 2258: 2248: 2243: 2238: 2233: 2228: 2223: 2217: 2215: 2211: 2210: 2208: 2207: 2202: 2197: 2192: 2187: 2182: 2177: 2172: 2167: 2165:802.11 drivers 2161: 2159: 2149: 2148: 2146: 2145: 2140: 2135: 2134: 2133: 2123: 2118: 2113: 2108: 2103: 2098: 2093: 2088: 2087: 2086: 2076: 2071: 2066: 2061: 2056: 2055: 2054: 2043: 2041: 2031: 2030: 2028: 2027: 2022: 2017: 2011: 2009: 2003: 2002: 2000: 1999: 1998: 1997: 1992: 1991: 1990: 1973: 1971: 1965: 1964: 1958: 1956: 1955: 1948: 1941: 1933: 1924: 1923: 1921: 1920: 1919: 1918: 1908: 1903: 1898: 1893: 1888: 1883: 1878: 1876:802.11 drivers 1872: 1870: 1860: 1859: 1857: 1856: 1851: 1850: 1849: 1839: 1834: 1829: 1824: 1823: 1822: 1812: 1807: 1801: 1799: 1789: 1788: 1786: 1785: 1780: 1775: 1770: 1765: 1760: 1754: 1752: 1748: 1747: 1745: 1744: 1739: 1734: 1729: 1726: 1720: 1718: 1714: 1713: 1711: 1710: 1704: 1702: 1698: 1697: 1690: 1688: 1687: 1680: 1673: 1665: 1656: 1655: 1653: 1652: 1646: 1644: 1640: 1639: 1637: 1636: 1630: 1628: 1624: 1623: 1621: 1620: 1615: 1609: 1607: 1603: 1602: 1600: 1599: 1598: 1597: 1587: 1582: 1577: 1572: 1567: 1562: 1561: 1560: 1550: 1545: 1540: 1535: 1530: 1525: 1520: 1515: 1510: 1505: 1500: 1495: 1490: 1485: 1479: 1477: 1473: 1472: 1470: 1469: 1468: 1467: 1462: 1451: 1449: 1445: 1444: 1437: 1435: 1434: 1427: 1420: 1412: 1403: 1402: 1399: 1398: 1396: 1395: 1390: 1385: 1380: 1375: 1370: 1353: 1347: 1345: 1339: 1338: 1336: 1335: 1330: 1328:Gentoo/FreeBSD 1325: 1320: 1315: 1314: 1313: 1308: 1298: 1293: 1288: 1283: 1278: 1273: 1268: 1267: 1266: 1255: 1253: 1244: 1238: 1237: 1235: 1234: 1229: 1224: 1219: 1214: 1209: 1204: 1199: 1194: 1192:Jordan Hubbard 1189: 1187:Matthew Dillon 1183: 1181: 1177: 1176: 1173: 1172: 1170: 1169: 1164: 1159: 1154: 1149: 1144: 1139: 1134: 1129: 1123: 1121: 1117: 1116: 1114: 1113: 1108: 1107: 1106: 1101: 1091: 1086: 1081: 1076: 1071: 1066: 1061: 1056: 1054:802.11 drivers 1050: 1048: 1042: 1041: 1039: 1038: 1033: 1028: 1023: 1022: 1021: 1011: 1010: 1009: 999: 998: 997: 992: 987: 982: 977: 966: 964: 958: 957: 955: 954: 949: 944: 938: 936: 934:Virtualisation 930: 929: 927: 926: 921: 915: 913: 904: 900: 899: 897: 896: 891: 886: 881: 876: 871: 865: 863: 857: 856: 849: 847: 846: 839: 832: 824: 818: 817: 808: 799: 790: 781: 772: 753: 752:External links 750: 747: 746: 723: 708: 701: 673: 652: 650: 649: 605: 603: 602: 591: 580: 529: 528: 526: 523: 522: 521: 520: 519: 513: 504: 489: 488: 483: 474: 473: 459: 443: 440: 382: 272: 250: 239: 238: 207:. Please help 193: 191: 184: 178: 175: 118:which support 110:events (AIO), 15: 13: 10: 9: 6: 4: 3: 2: 3500: 3489: 3486: 3484: 3481: 3479: 3476: 3474: 3471: 3469: 3468:DragonFly BSD 3466: 3464: 3461: 3459: 3456: 3454: 3451: 3449: 3446: 3444: 3441: 3440: 3438: 3423: 3414: 3411: 3408: 3407: 3404: 3394: 3391: 3389: 3386: 3384: 3381: 3379: 3376: 3374: 3371: 3369: 3366: 3364: 3363:Brushed metal 3361: 3359: 3356: 3355: 3353: 3349: 3343: 3340: 3339: 3337: 3333: 3327: 3324: 3322: 3319: 3317: 3314: 3312: 3309: 3307: 3304: 3302: 3299: 3297: 3294: 3292: 3289: 3287: 3284: 3282: 3281:Smart Folders 3279: 3277: 3274: 3272: 3269: 3267: 3264: 3262: 3261:Property list 3259: 3257: 3254: 3252: 3249: 3247: 3244: 3242: 3239: 3237: 3234: 3232: 3229: 3227: 3224: 3222: 3219: 3217: 3214: 3212: 3209: 3207: 3204: 3202: 3199: 3197: 3194: 3192: 3189: 3187: 3184: 3182: 3179: 3177: 3174: 3172: 3169: 3167: 3164: 3162: 3159: 3157: 3154: 3152: 3149: 3147: 3144: 3142: 3139: 3137: 3134: 3132: 3129: 3127: 3124: 3122: 3119: 3117: 3114: 3112: 3109: 3107: 3104: 3102: 3099: 3097: 3094: 3092: 3089: 3087: 3084: 3082: 3079: 3077: 3074: 3072: 3069: 3067: 3064: 3062: 3059: 3057: 3054: 3052: 3049: 3047: 3044: 3042: 3039: 3037: 3034: 3033: 3030: 3027: 3025: 3019: 3009: 3006: 3004: 3001: 2999: 2996: 2994: 2991: 2989: 2986: 2985: 2983: 2979: 2973: 2970: 2968: 2965: 2963: 2960: 2958: 2955: 2953: 2950: 2948: 2947:Script Editor 2945: 2943: 2940: 2938: 2935: 2933: 2930: 2928: 2927:Image Capture 2925: 2923: 2920: 2918: 2915: 2913: 2910: 2908: 2905: 2903: 2900: 2898: 2895: 2893: 2890: 2888: 2885: 2883: 2880: 2878: 2875: 2873: 2870: 2868: 2865: 2863: 2860: 2858: 2855: 2853: 2850: 2848: 2845: 2844: 2841: 2838: 2834: 2824: 2821: 2817: 2814: 2813: 2812: 2809: 2807: 2804: 2802: 2799: 2797: 2794: 2792: 2789: 2787: 2784: 2783: 2781: 2777: 2767: 2764: 2762: 2759: 2757: 2754: 2753: 2751: 2747: 2741: 2738: 2736: 2733: 2732: 2730: 2728: 2724: 2721: 2719: 2715: 2709: 2706: 2704: 2701: 2699: 2696: 2694: 2691: 2689: 2686: 2682: 2679: 2678: 2677: 2674: 2672: 2669: 2667: 2664: 2662: 2659: 2657: 2654: 2652: 2649: 2647: 2644: 2642: 2639: 2637: 2634: 2632: 2629: 2627: 2624: 2622: 2619: 2617: 2614: 2612: 2609: 2607: 2604: 2602: 2599: 2597: 2594: 2592: 2589: 2587: 2584: 2582: 2579: 2577: 2574: 2572: 2569: 2567: 2564: 2562: 2559: 2557: 2554: 2552: 2549: 2547: 2544: 2542: 2539: 2538: 2536: 2532: 2529: 2525: 2515: 2512: 2510: 2507: 2505: 2502: 2500: 2497: 2495: 2492: 2490: 2487: 2485: 2482: 2480: 2477: 2475: 2472: 2471: 2469: 2465: 2459: 2456: 2454: 2451: 2449: 2446: 2444: 2441: 2439: 2436: 2435: 2433: 2429: 2423: 2420: 2418: 2415: 2413: 2410: 2408: 2405: 2403: 2400: 2398: 2395: 2393: 2390: 2388: 2385: 2383: 2380: 2379: 2377: 2375: 2371: 2368: 2364: 2358: 2355: 2353: 2350: 2348: 2347:Built-in apps 2345: 2343: 2340: 2338: 2335: 2334: 2331: 2327: 2320: 2315: 2313: 2308: 2306: 2301: 2300: 2297: 2285: 2282: 2281: 2279: 2275: 2269: 2266: 2264: 2261: 2257: 2254: 2253: 2252: 2249: 2247: 2244: 2242: 2239: 2237: 2234: 2232: 2229: 2227: 2224: 2222: 2219: 2218: 2216: 2212: 2206: 2203: 2201: 2198: 2196: 2193: 2191: 2188: 2186: 2183: 2181: 2178: 2176: 2173: 2171: 2168: 2166: 2163: 2162: 2160: 2158: 2154: 2150: 2144: 2141: 2139: 2136: 2132: 2129: 2128: 2127: 2124: 2122: 2119: 2117: 2114: 2112: 2109: 2107: 2104: 2102: 2099: 2097: 2094: 2092: 2089: 2085: 2082: 2081: 2080: 2077: 2075: 2072: 2070: 2067: 2065: 2062: 2060: 2057: 2053: 2050: 2049: 2048: 2045: 2044: 2042: 2040: 2036: 2032: 2026: 2023: 2021: 2018: 2016: 2013: 2012: 2010: 2008: 2004: 1996: 1993: 1989: 1985: 1984: 1983: 1980: 1979: 1978: 1977:DragonFly BSD 1975: 1974: 1972: 1970: 1966: 1961: 1960:DragonFly BSD 1954: 1949: 1947: 1942: 1940: 1935: 1934: 1931: 1917: 1914: 1913: 1912: 1909: 1907: 1904: 1902: 1899: 1897: 1894: 1892: 1889: 1887: 1884: 1882: 1879: 1877: 1874: 1873: 1871: 1869: 1865: 1861: 1855: 1852: 1848: 1845: 1844: 1843: 1840: 1838: 1835: 1833: 1830: 1828: 1825: 1821: 1818: 1817: 1816: 1813: 1811: 1808: 1806: 1803: 1802: 1800: 1798: 1794: 1790: 1784: 1781: 1779: 1776: 1774: 1771: 1769: 1766: 1764: 1761: 1759: 1756: 1755: 1753: 1749: 1743: 1740: 1738: 1735: 1733: 1730: 1727: 1725: 1722: 1721: 1719: 1715: 1709: 1706: 1705: 1703: 1699: 1694: 1686: 1681: 1679: 1674: 1672: 1667: 1666: 1663: 1651: 1648: 1647: 1645: 1641: 1635: 1632: 1631: 1629: 1627:Organizations 1625: 1619: 1616: 1614: 1613:Theo de Raadt 1611: 1610: 1608: 1604: 1596: 1593: 1592: 1591: 1588: 1586: 1583: 1581: 1578: 1576: 1573: 1571: 1568: 1566: 1563: 1559: 1556: 1555: 1554: 1551: 1549: 1546: 1544: 1541: 1539: 1536: 1534: 1531: 1529: 1526: 1524: 1521: 1519: 1516: 1514: 1511: 1509: 1506: 1504: 1501: 1499: 1496: 1494: 1491: 1489: 1486: 1484: 1481: 1480: 1478: 1474: 1466: 1463: 1461: 1458: 1457: 1456: 1453: 1452: 1450: 1446: 1441: 1433: 1428: 1426: 1421: 1419: 1414: 1413: 1410: 1394: 1391: 1389: 1386: 1384: 1381: 1379: 1378:OpenServer 10 1376: 1374: 1371: 1369: 1365: 1361: 1357: 1354: 1352: 1349: 1348: 1346: 1344: 1340: 1334: 1331: 1329: 1326: 1324: 1321: 1319: 1316: 1312: 1309: 1307: 1304: 1303: 1302: 1299: 1297: 1294: 1292: 1289: 1287: 1284: 1282: 1279: 1277: 1276:DragonFly BSD 1274: 1272: 1269: 1265: 1262: 1261: 1260: 1257: 1256: 1254: 1252: 1248: 1245: 1243: 1239: 1233: 1230: 1228: 1227:Robert Watson 1225: 1223: 1220: 1218: 1215: 1213: 1210: 1208: 1205: 1203: 1200: 1198: 1195: 1193: 1190: 1188: 1185: 1184: 1182: 1178: 1168: 1165: 1163: 1160: 1158: 1155: 1153: 1150: 1148: 1145: 1143: 1140: 1138: 1135: 1133: 1130: 1128: 1125: 1124: 1122: 1118: 1112: 1109: 1105: 1102: 1100: 1097: 1096: 1095: 1092: 1090: 1087: 1085: 1082: 1080: 1077: 1075: 1072: 1070: 1067: 1065: 1062: 1060: 1057: 1055: 1052: 1051: 1049: 1047: 1043: 1037: 1034: 1032: 1029: 1027: 1024: 1020: 1017: 1016: 1015: 1012: 1008: 1005: 1004: 1003: 1000: 996: 993: 991: 988: 986: 983: 981: 978: 976: 973: 972: 971: 968: 967: 965: 963: 959: 953: 950: 948: 945: 943: 940: 939: 937: 935: 931: 925: 924:ULE scheduler 922: 920: 917: 916: 914: 912: 908: 905: 901: 895: 892: 890: 887: 885: 884:FreeBSD Ports 882: 880: 877: 875: 872: 870: 867: 866: 864: 862: 858: 853: 845: 840: 838: 833: 831: 826: 825: 822: 816: 809: 807: 800: 798: 791: 789: 782: 780: 773: 771: 768:System Calls 767: 764: โ€“  761: 756: 755: 751: 744: 741:System Calls 740: 737: โ€“  734: 727: 724: 721: 717: 712: 709: 704: 702:9781105571817 698: 694: 690: 689: 684: 677: 674: 669: 667: 662: 656: 653: 646: 642: 638: 637: 634: 630: 623: 622: 614: 612: 610: 606: 599: 598: 592: 588: 587: 581: 577: 576: 570: 569: 566: 565:DragonFly BSD 562: 558: 554: 550: 546: 539: 537: 535: 531: 524: 517: 514: 511: 508: 507: 505: 498: 494: 493: 492: 487: 484: 482: 479: 478: 477: 471: 460: 457: 451: 446: 441: 439: 436:struct kevent 380: 366: 270: 248: 235: 232: 224: 214: 210: 206: 200: 199: 198:single source 194:This section 192: 183: 182: 176: 174: 168: 160: 158: 154: 150: 146: 142: 134: 128: 123: 121: 117: 113: 112:child process 109: 105: 101: 97: 92: 90: 80: 76: 68: 64: 60: 55: 53: 50:to solve the 49: 45: 41: 37: 36:DragonFly BSD 33: 29: 25: 21: 3488:System calls 3448:BSD software 3409: 3351:Discontinued 3206:Kernel panic 3076:AVFoundation 2981:Discontinued 2912:Disk Utility 2882:Configurator 2749:Former tools 2708:Time Machine 2527:Applications 2484:10.14 Mojave 2474:10.12 Sierra 2417:10.5 Leopard 2407:10.3 Panther 2392:10.0 Cheetah 2342:Architecture 2235: 2131:soft updates 2035:File systems 1793:File systems 1643:Publications 1618:Niels Provos 1323:GNU/kFreeBSD 1151: 1019:Soft updates 726: 711: 687: 683:"ยง14. nginx" 676: 664: 655: 644: 620: 596: 585: 574: 548: 490: 475: 433: 362: 268: 242: 227: 218: 195: 161: 124: 93: 56: 52:c10k problem 19: 18: 3241:Night Shift 3136:Core OpenGL 3106:Command key 3071:Audio Units 3061:AppleScript 2922:Help Viewer 2735:Instruments 2651:Photo Booth 2596:Game Center 2499:12 Monterey 2402:10.2 Jaguar 2387:Public Beta 1783:Rump kernel 1343:proprietary 1296:MidnightBSD 1251:open-source 1242:Derivatives 1232:Dru Lavigne 1212:Sam Leffler 1202:Mike Karels 815:system call 806:system call 797:system call 788:system call 779:system call 245:sys/event.h 125:Some other 67:system call 3437:Categories 3335:Deprecated 3271:Quick Look 3251:Option key 3226:Menu extra 3186:Gatekeeper 3181:Foundation 3156:Cover Flow 3146:Core Video 3131:Core Image 3116:Core Audio 3051:Apple menu 2581:DVD Player 2576:Dictionary 2551:Calculator 2514:15 Sequoia 2504:13 Ventura 2494:11 Big Sur 2412:10.4 Tiger 2382:Server 1.0 2256:hw.sensors 2214:Subsystems 2157:networking 1868:networking 1271:DesktopBSD 1207:Ben Laurie 1046:Networking 911:Scheduling 903:Subsystems 525:References 506:on Linux: 369:changelist 304:changelist 221:April 2024 167:user space 120:nanosecond 75:event loop 3383:QuickTime 3291:Spotlight 3171:FileVault 3141:Core Text 3121:Core Data 3101:ColorSync 2972:VoiceOver 2932:Installer 2917:Font Book 2877:ColorSync 2872:Boot Camp 2836:Utilities 2791:Front Row 2786:Dashboard 2740:FileMerge 2688:Shortcuts 2671:Reminders 2611:Launchpad 2546:Automator 2541:App Store 2509:14 Sonoma 2438:10.7 Lion 2397:10.1 Puma 2175:Bluetooth 2153:Firewalls 2069:disklabel 1886:Bluetooth 1864:Firewalls 1815:disklabel 1543:OpenSMTPD 1538:OpenOSPFD 1064:Bluetooth 1002:disklabel 760:kqueue(2) 733:kqueue(2) 716:libkqueue 377:eventlist 328:eventlist 213:citations 205:talk page 171:kqueue(2) 163:libkqueue 132:select(2) 88:select(2) 73:per main 71:kevent(2) 3422:Category 3211:Keychain 3091:CloudKit 2962:Terminal 2823:Sherlock 2761:Dashcode 2703:TextEdit 2698:Stickies 2646:Podcasts 2621:Messages 2586:FaceTime 2566:Contacts 2556:Calendar 2374:Mac OS X 2366:Versions 2357:Software 2200:netgraph 1901:IPFilter 1758:Veriexec 1590:Xenocara 1533:OpenNTPD 1528:OpenIKED 1523:OpenBGPD 1508:LibreSSL 1333:XigmaNAS 1306:OPNsense 1301:m0n0wall 1291:GhostBSD 1286:FreeSBIE 1147:portsnap 1084:Netgraph 1074:IPFilter 813:kqueue() 804:kqueue() 795:kqueue() 786:kqueue() 777:kqueue() 693:Lulu.com 481:libevent 442:See also 438:object. 349:timespec 313:nchanges 63:userland 3458:OpenBSD 3453:FreeBSD 3410:Italics 3378:Inkwell 3326:XQuartz 3276:Rosetta 3216:launchd 3081:Bonjour 3036:AirDrop 2887:Console 2816:history 2661:Preview 2601:Grapher 2337:History 2246:OpenPAM 2084:HAMMER2 2039:storage 2025:vkernel 1962:Project 1854:OpenZFS 1797:storage 1695:Project 1565:sensors 1548:OpenSSH 1455:OpenBSD 1442:Project 1440:OpenBSD 1368:watchOS 1311:pfSense 1281:FreeNAS 1142:OpenBSM 1137:OpenPAM 962:Storage 861:FreeBSD 854:Project 852:FreeBSD 766:FreeBSD 739:FreeBSD 557:OpenBSD 553:FreeBSD 516:inotify 373:nevents 355:timeout 337:nevents 157:Solaris 153:Windows 137:poll(2) 104:signals 83:poll(2) 79:polling 32:OpenBSD 24:FreeBSD 3463:NetBSD 3420:  3388:Spaces 3368:Carbon 3316:WebKit 3296:Stacks 3266:Quartz 3246:OpenCL 3221:Mach-O 3201:iCloud 3161:Darwin 3086:Bundle 3041:AppKit 2811:iTunes 2801:iPhoto 2676:Safari 2656:Photos 2591:Finder 2352:Server 2277:People 2263:systat 2251:sysctl 2241:moused 2236:kqueue 2226:DPorts 2221:busdma 2111:procfs 2079:HAMMER 2059:autofs 2015:chroot 1916:pfsync 1805:bioctl 1773:envsys 1768:DTrace 1763:busdma 1728:netpgp 1724:pkgsrc 1708:NetBSD 1693:NetBSD 1606:People 1558:pfsync 1513:mandoc 1366:, and 1318:TrueOS 1264:Darwin 1180:People 1167:systat 1162:moused 1152:kqueue 1132:DTrace 1127:busdma 1104:pfsync 942:chroot 770:Manual 743:Manual 720:GitHub 699:  645:Usenix 633:USENIX 561:NetBSD 501:kqueue 414:fflags 402:filter 384:EV_SET 346:struct 322:kevent 319:struct 298:kevent 295:struct 277:kevent 255:kqueue 116:timers 59:kernel 38:, and 28:NetBSD 20:Kqueue 3473:MacOS 3393:Xgrid 3358:BootX 3231:Metal 3176:Fonts 3096:Cocoa 2806:iSync 2796:iChat 2727:Xcode 2636:Notes 2631:Music 2561:Chess 2467:macOS 2326:macOS 2268:SMBus 2231:ioctl 2138:Vinum 2121:tmpfs 2116:PUFFS 2074:fdisk 2064:devfs 1986:LWKT 1847:WAPBL 1837:tmpfs 1832:PUFFS 1820:fdisk 1737:tnftp 1575:spamd 1570:sndio 1498:httpd 1356:macOS 1351:Junos 1120:Other 1007:fdisk 995:vinum 975:raid5 952:bhyve 666:nginx 625:(PDF) 510:epoll 486:libuv 426:udata 408:flags 396:ident 365:epoll 343:const 292:const 165:is a 145:Linux 141:epoll 48:nginx 40:macOS 3342:HFS+ 3196:icns 3166:Dock 3151:CUPS 3066:Aqua 2988:Grab 2693:Siri 2626:News 2616:Mail 2606:Home 2431:OS X 2195:NDIS 2190:ipfw 2185:CARP 2170:ALTQ 2106:NVMe 2101:NTFS 2091:LVM2 2047:AHCI 2020:jail 1891:CARP 1881:ALTQ 1866:and 1827:LVM2 1810:CHFS 1795:and 1742:tcsh 1691:The 1585:tmux 1580:sudo 1493:doas 1488:CARP 1438:The 1364:tvOS 1111:SCTP 1099:CARP 1089:NDIS 1079:ipfw 1059:ALTQ 990:LVM2 985:geli 980:GBDE 970:GEOM 947:jail 919:ALTQ 850:The 697:ISBN 668:.org 420:data 261:void 155:and 147:and 135:and 85:and 61:and 3321:XNU 2180:BPF 2143:VFS 2126:UFS 2096:NFS 2052:NCQ 1906:NPF 1896:BPF 1842:UFS 1778:LKM 1732:pcc 1595:cwm 1503:fdm 1483:bio 1360:iOS 1259:XNU 1157:KLD 1069:BPF 1031:ZFS 1026:VFS 1014:UFS 718:on 390:kev 334:int 310:int 283:int 274:int 252:int 177:API 151:on 143:on 69:to 3439:: 2205:PF 2155:, 2037:, 1911:PF 1553:PF 1518:mg 1362:, 1358:, 1094:pf 695:. 691:. 663:. 643:. 631:. 627:. 608:^ 563:, 559:, 555:, 551:. 547:. 533:^ 429:); 358:); 286:kq 264:); 247:. 159:. 106:, 102:, 34:, 30:, 2318:e 2311:t 2304:v 1952:e 1945:t 1938:v 1684:e 1677:t 1670:v 1431:e 1424:t 1417:v 843:e 836:t 829:v 705:. 670:. 647:. 600:. 589:. 578:. 567:. 423:, 417:, 411:, 405:, 399:, 393:, 387:( 352:* 340:, 331:, 325:* 316:, 307:, 301:* 289:, 280:( 258:( 234:) 228:( 223:) 219:( 201:.

Index

FreeBSD
NetBSD
OpenBSD
DragonFly BSD
macOS
FreeBSD Core Team
nginx
c10k problem
kernel
userland
system call
event loop
polling
select(2)
file descriptor
file modification monitoring
signals
asynchronous I/O
child process
timers
nanosecond
operating systems
select(2)
epoll
Linux
I/O completion ports
Windows
Solaris
user space
single source

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

โ†‘