UPNGFCXGAFSLL2XTBFDIUX2FBPHUCBNRCDRGRSPXCDNTMF3DP44QC IK2UBDAU6QKUXHJG3SXJKYGIIXRDKI6UVRTFC6ZVDXDCGNCMEWVAC ZK76B5ZZCEOJQUDOVKDZPE6IN2YIXQONFUIJ633OAXNC73OG3YSAC 4I2HF4L3JOC6KPYLI2YTEVTHBRRYO5XKXOZ6VQ2SJKSQKAPNQXCQC MHVIT4JYWUYD4UCGB2AHLXWLX6B5SYE22BREERNGANT7RGGDUFOAC 46ADBTMQAHQAPW3OCI24F4I5DVK5N5QVHUA4TQVB6HFN337CHAVQC WE5Q2NVIIK4R2DUUZYLJFQVYK5O26EDEJRPK3CPGWHU3SEAC2DQAC HJOEIMLRDVQ2KZI5HGL2HKGBM3AHP7YIKGKDAGFUNKRUXVRB24NAC /* Sort the runnable steps by priority. Priority is establisedas follows (in order of precedence):- The global priority of the builds that depend on thestep. This allows admins to bump a build to the front ofthe queue.- The lowest used scheduling share of the jobsets dependingon the step.
/* Sort the runnable steps by priority. FIXME: O(n lg n);obviously, it would be better to keep a runnable queue sortedby priority. */
- The local priority of the build, as set via the build'smeta.schedulingPriority field. Note that this is notquite correct: the local priority should only be used toestablish priority between builds in the same jobset, buthere it's used between steps in different jobsets if theyhappen to have the same lowest used scheduling share. Butthat's not every likely.- The lowest ID of the builds depending on the step;i.e. older builds take priority over new ones.FIXME: O(n lg n); obviously, it would be better to keep arunnable queue sorted by priority. */