PNG  IHDRX cHRMz&u0`:pQ<bKGD pHYsodtIME MeqIDATxw]Wug^Qd˶ 6`!N:!@xI~)%7%@Bh&`lnjVF29gΨ4E$|>cɚ{gk= %,a KX%,a KX%,a KX%,a KX%,a KX%,a KX%, b` ǟzeאfp]<!SJmɤY޲ڿ,%c ~ع9VH.!Ͳz&QynֺTkRR.BLHi٪:l;@(!MԴ=žI,:o&N'Kù\vRmJ雵֫AWic H@" !: Cé||]k-Ha oݜ:y F())u]aG7*JV@J415p=sZH!=!DRʯvɱh~V\}v/GKY$n]"X"}t@ xS76^[bw4dsce)2dU0 CkMa-U5tvLƀ~mlMwfGE/-]7XAƟ`׮g ewxwC4\[~7@O-Q( a*XGƒ{ ՟}$_y3tĐƤatgvێi|K=uVyrŲlLӪuܿzwk$m87k( `múcE)"@rK( z4$D; 2kW=Xb$V[Ru819קR~qloѱDyįݎ*mxw]y5e4K@ЃI0A D@"BDk_)N\8͜9dz"fK0zɿvM /.:2O{ Nb=M=7>??Zuo32 DLD@D| &+֎C #B8ַ`bOb $D#ͮҪtx]%`ES`Ru[=¾!@Od37LJ0!OIR4m]GZRJu$‡c=%~s@6SKy?CeIh:[vR@Lh | (BhAMy=݃  G"'wzn޺~8ԽSh ~T*A:xR[ܹ?X[uKL_=fDȊ؂p0}7=D$Ekq!/t.*2ʼnDbŞ}DijYaȲ(""6HA;:LzxQ‘(SQQ}*PL*fc\s `/d'QXW, e`#kPGZuŞuO{{wm[&NBTiiI0bukcA9<4@SӊH*؎4U/'2U5.(9JuDfrޱtycU%j(:RUbArLֺN)udA':uGQN"-"Is.*+k@ `Ojs@yU/ H:l;@yyTn}_yw!VkRJ4P)~y#)r,D =ě"Q]ci'%HI4ZL0"MJy 8A{ aN<8D"1#IJi >XjX֔#@>-{vN!8tRݻ^)N_╗FJEk]CT՟ YP:_|H1@ CBk]yKYp|og?*dGvzنzӴzjֺNkC~AbZƷ`.H)=!QͷVTT(| u78y֮}|[8-Vjp%2JPk[}ԉaH8Wpqhwr:vWª<}l77_~{s۴V+RCģ%WRZ\AqHifɤL36: #F:p]Bq/z{0CU6ݳEv_^k7'>sq*+kH%a`0ԣisqにtү04gVgW΂iJiS'3w.w}l6MC2uԯ|>JF5`fV5m`Y**Db1FKNttu]4ccsQNnex/87+}xaUW9y>ͯ骵G{䩓Գ3+vU}~jJ.NFRD7<aJDB1#ҳgSb,+CS?/ VG J?|?,2#M9}B)MiE+G`-wo߫V`fio(}S^4e~V4bHOYb"b#E)dda:'?}׮4繏`{7Z"uny-?ǹ;0MKx{:_pÚmFמ:F " .LFQLG)Q8qN q¯¯3wOvxDb\. BKD9_NN &L:4D{mm o^tֽ:q!ƥ}K+<"m78N< ywsard5+вz~mnG)=}lYݧNj'QJS{S :UYS-952?&O-:W}(!6Mk4+>A>j+i|<<|;ر^߉=HE|V#F)Emm#}/"y GII웻Jі94+v뾧xu~5C95~ūH>c@덉pʃ1/4-A2G%7>m;–Y,cyyaln" ?ƻ!ʪ<{~h~i y.zZB̃/,雋SiC/JFMmBH&&FAbϓO^tubbb_hZ{_QZ-sύodFgO(6]TJA˯#`۶ɟ( %$&+V'~hiYy>922 Wp74Zkq+Ovn錄c>8~GqܲcWꂎz@"1A.}T)uiW4="jJ2W7mU/N0gcqܗOO}?9/wìXžΏ0 >֩(V^Rh32!Hj5`;O28؇2#ݕf3 ?sJd8NJ@7O0 b־?lldщ̡&|9C.8RTWwxWy46ah嘦mh٤&l zCy!PY?: CJyв]dm4ǜҐR޻RլhX{FƯanшQI@x' ao(kUUuxW_Ñ줮[w8 FRJ(8˼)_mQ _!RJhm=!cVmm ?sFOnll6Qk}alY}; "baӌ~M0w,Ggw2W:G/k2%R,_=u`WU R.9T"v,<\Ik޽/2110Ӿxc0gyC&Ny޽JҢrV6N ``یeA16"J³+Rj*;BϜkZPJaÍ<Jyw:NP8/D$ 011z֊Ⱳ3ι֘k1V_"h!JPIΣ'ɜ* aEAd:ݺ>y<}Lp&PlRfTb1]o .2EW\ͮ]38؋rTJsǏP@芎sF\> P^+dYJLbJ C-xϐn> ι$nj,;Ǖa FU *择|h ~izť3ᤓ`K'-f tL7JK+vf2)V'-sFuB4i+m+@My=O҈0"|Yxoj,3]:cо3 $#uŘ%Y"y죯LebqtҢVzq¼X)~>4L׶m~[1_k?kxֺQ`\ |ٛY4Ѯr!)N9{56(iNq}O()Em]=F&u?$HypWUeB\k]JɩSع9 Zqg4ZĊo oMcjZBU]B\TUd34ݝ~:7ڶSUsB0Z3srx 7`:5xcx !qZA!;%͚7&P H<WL!džOb5kF)xor^aujƍ7 Ǡ8/p^(L>ὴ-B,{ۇWzֺ^k]3\EE@7>lYBȝR.oHnXO/}sB|.i@ɥDB4tcm,@ӣgdtJ!lH$_vN166L__'Z)y&kH;:,Y7=J 9cG) V\hjiE;gya~%ks_nC~Er er)muuMg2;֫R)Md) ,¶ 2-wr#F7<-BBn~_(o=KO㭇[Xv eN_SMgSҐ BS헃D%g_N:/pe -wkG*9yYSZS.9cREL !k}<4_Xs#FmҶ:7R$i,fi!~' # !6/S6y@kZkZcX)%5V4P]VGYq%H1!;e1MV<!ϐHO021Dp= HMs~~a)ަu7G^];git!Frl]H/L$=AeUvZE4P\.,xi {-~p?2b#amXAHq)MWǾI_r`S Hz&|{ +ʖ_= (YS(_g0a03M`I&'9vl?MM+m~}*xT۲(fY*V4x@29s{DaY"toGNTO+xCAO~4Ϳ;p`Ѫ:>Ҵ7K 3}+0 387x\)a"/E>qpWB=1 ¨"MP(\xp߫́A3+J] n[ʼnӼaTbZUWb={~2ooKױӰp(CS\S筐R*JغV&&"FA}J>G֐p1ٸbk7 ŘH$JoN <8s^yk_[;gy-;߉DV{c B yce% aJhDȶ 2IdйIB/^n0tNtџdcKj4϶v~- CBcgqx9= PJ) dMsjpYB] GD4RDWX +h{y`,3ꊕ$`zj*N^TP4L:Iz9~6s) Ga:?y*J~?OrMwP\](21sZUD ?ܟQ5Q%ggW6QdO+\@ ̪X'GxN @'4=ˋ+*VwN ne_|(/BDfj5(Dq<*tNt1х!MV.C0 32b#?n0pzj#!38}޴o1KovCJ`8ŗ_"]] rDUy޲@ Ȗ-;xџ'^Y`zEd?0„ DAL18IS]VGq\4o !swV7ˣι%4FѮ~}6)OgS[~Q vcYbL!wG3 7띸*E Pql8=jT\꘿I(z<[6OrR8ºC~ډ]=rNl[g|v TMTղb-o}OrP^Q]<98S¤!k)G(Vkwyqyr޽Nv`N/e p/~NAOk \I:G6]4+K;j$R:Mi #*[AȚT,ʰ,;N{HZTGMoּy) ]%dHء9Պ䠬|<45,\=[bƟ8QXeB3- &dҩ^{>/86bXmZ]]yޚN[(WAHL$YAgDKp=5GHjU&99v簪C0vygln*P)9^͞}lMuiH!̍#DoRBn9l@ xA/_v=ȺT{7Yt2N"4!YN`ae >Q<XMydEB`VU}u]嫇.%e^ánE87Mu\t`cP=AD/G)sI"@MP;)]%fH9'FNsj1pVhY&9=0pfuJ&gޤx+k:!r˭wkl03׼Ku C &ѓYt{.O.zҏ z}/tf_wEp2gvX)GN#I ݭ߽v/ .& и(ZF{e"=V!{zW`, ]+LGz"(UJp|j( #V4, 8B 0 9OkRrlɱl94)'VH9=9W|>PS['G(*I1==C<5"Pg+x'K5EMd؞Af8lG ?D FtoB[je?{k3zQ vZ;%Ɠ,]E>KZ+T/ EJxOZ1i #T<@ I}q9/t'zi(EMqw`mYkU6;[t4DPeckeM;H}_g pMww}k6#H㶏+b8雡Sxp)&C $@'b,fPߑt$RbJ'vznuS ~8='72_`{q纶|Q)Xk}cPz9p7O:'|G~8wx(a 0QCko|0ASD>Ip=4Q, d|F8RcU"/KM opKle M3#i0c%<7׿p&pZq[TR"BpqauIp$ 8~Ĩ!8Սx\ւdT>>Z40ks7 z2IQ}ItԀ<-%S⍤};zIb$I 5K}Q͙D8UguWE$Jh )cu4N tZl+[]M4k8֦Zeq֮M7uIqG 1==tLtR,ƜSrHYt&QP윯Lg' I,3@P'}'R˪e/%-Auv·ñ\> vDJzlӾNv5:|K/Jb6KI9)Zh*ZAi`?S {aiVDԲuy5W7pWeQJk֤#5&V<̺@/GH?^τZL|IJNvI:'P=Ϛt"¨=cud S Q.Ki0 !cJy;LJR;G{BJy޺[^8fK6)=yʊ+(k|&xQ2`L?Ȓ2@Mf 0C`6-%pKpm')c$׻K5[J*U[/#hH!6acB JA _|uMvDyk y)6OPYjœ50VT K}cǻP[ $:]4MEA.y)|B)cf-A?(e|lɉ#P9V)[9t.EiQPDѠ3ϴ;E:+Օ t ȥ~|_N2,ZJLt4! %ա]u {+=p.GhNcŞQI?Nd'yeh n7zi1DB)1S | S#ًZs2|Ɛy$F SxeX{7Vl.Src3E℃Q>b6G ўYCmtկ~=K0f(=LrAS GN'ɹ9<\!a`)֕y[uՍ[09` 9 +57ts6}b4{oqd+J5fa/,97J#6yν99mRWxJyѡyu_TJc`~W>l^q#Ts#2"nD1%fS)FU w{ܯ R{ ˎ󅃏џDsZSQS;LV;7 Od1&1n$ N /.q3~eNɪ]E#oM~}v֯FڦwyZ=<<>Xo稯lfMFV6p02|*=tV!c~]fa5Y^Q_WN|Vs 0ҘދU97OI'N2'8N֭fgg-}V%y]U4 峧p*91#9U kCac_AFңĪy뚇Y_AiuYyTTYЗ-(!JFLt›17uTozc. S;7A&&<ԋ5y;Ro+:' *eYJkWR[@F %SHWP 72k4 qLd'J "zB6{AC0ƁA6U.'F3:Ȅ(9ΜL;D]m8ڥ9}dU "v!;*13Rg^fJyShyy5auA?ɩGHRjo^]׽S)Fm\toy 4WQS@mE#%5ʈfFYDX ~D5Ϡ9tE9So_aU4?Ѽm%&c{n>.KW1Tlb}:j uGi(JgcYj0qn+>) %\!4{LaJso d||u//P_y7iRJ߬nHOy) l+@$($VFIQ9%EeKʈU. ia&FY̒mZ=)+qqoQn >L!qCiDB;Y<%} OgBxB!ØuG)WG9y(Ą{_yesuZmZZey'Wg#C~1Cev@0D $a@˲(.._GimA:uyw֬%;@!JkQVM_Ow:P.s\)ot- ˹"`B,e CRtaEUP<0'}r3[>?G8xU~Nqu;Wm8\RIkբ^5@k+5(By'L&'gBJ3ݶ!/㮻w҅ yqPWUg<e"Qy*167΃sJ\oz]T*UQ<\FԎ`HaNmڜ6DysCask8wP8y9``GJ9lF\G g's Nn͵MLN֪u$| /|7=]O)6s !ĴAKh]q_ap $HH'\1jB^s\|- W1:=6lJBqjY^LsPk""`]w)󭃈,(HC ?䔨Y$Sʣ{4Z+0NvQkhol6C.婧/u]FwiVjZka&%6\F*Ny#8O,22+|Db~d ~Çwc N:FuuCe&oZ(l;@ee-+Wn`44AMK➝2BRՈt7g*1gph9N) *"TF*R(#'88pm=}X]u[i7bEc|\~EMn}P瘊J)K.0i1M6=7'_\kaZ(Th{K*GJyytw"IO-PWJk)..axӝ47"89Cc7ĐBiZx 7m!fy|ϿF9CbȩV 9V-՛^pV̌ɄS#Bv4-@]Vxt-Z, &ֺ*diؠ2^VXbs֔Ìl.jQ]Y[47gj=幽ex)A0ip׳ W2[ᎇhuE^~q흙L} #-b۸oFJ_QP3r6jr+"nfzRJTUqoaۍ /$d8Mx'ݓ= OՃ| )$2mcM*cЙj}f };n YG w0Ia!1Q.oYfr]DyISaP}"dIӗթO67jqR ҊƐƈaɤGG|h;t]䗖oSv|iZqX)oalv;۩meEJ\!8=$4QU4Xo&VEĊ YS^E#d,yX_> ۘ-e\ "Wa6uLĜZi`aD9.% w~mB(02G[6y.773a7 /=o7D)$Z 66 $bY^\CuP. (x'"J60׿Y:Oi;F{w佩b+\Yi`TDWa~|VH)8q/=9!g߆2Y)?ND)%?Ǐ`k/sn:;O299yB=a[Ng 3˲N}vLNy;*?x?~L&=xyӴ~}q{qE*IQ^^ͧvü{Huu=R|>JyUlZV, B~/YF!Y\u_ݼF{_C)LD]m {H 0ihhadd nUkf3oٺCvE\)QJi+֥@tDJkB$1!Đr0XQ|q?d2) Ӣ_}qv-< FŊ߫%roppVBwü~JidY4:}L6M7f٬F "?71<2#?Jyy4뷢<_a7_=Q E=S1И/9{+93֮E{ǂw{))?maÆm(uLE#lïZ  ~d];+]h j?!|$F}*"4(v'8s<ŏUkm7^7no1w2ؗ}TrͿEk>p'8OB7d7R(A 9.*Mi^ͳ; eeUwS+C)uO@ =Sy]` }l8^ZzRXj[^iUɺ$tj))<sbDJfg=Pk_{xaKo1:-uyG0M ԃ\0Lvuy'ȱc2Ji AdyVgVh!{]/&}}ċJ#%d !+87<;qN޼Nفl|1N:8ya  8}k¾+-$4FiZYÔXk*I&'@iI99)HSh4+2G:tGhS^繿 Kتm0 вDk}֚+QT4;sC}rՅE,8CX-e~>G&'9xpW,%Fh,Ry56Y–hW-(v_,? ; qrBk4-V7HQ;ˇ^Gv1JVV%,ik;D_W!))+BoS4QsTM;gt+ndS-~:11Sgv!0qRVh!"Ȋ(̦Yl.]PQWgٳE'`%W1{ndΗBk|Ž7ʒR~,lnoa&:ü$ 3<a[CBݮwt"o\ePJ=Hz"_c^Z.#ˆ*x z̝grY]tdkP*:97YľXyBkD4N.C_[;F9`8& !AMO c `@BA& Ost\-\NX+Xp < !bj3C&QL+*&kAQ=04}cC!9~820G'PC9xa!w&bo_1 Sw"ܱ V )Yl3+ס2KoXOx]"`^WOy :3GO0g;%Yv㐫(R/r (s } u B &FeYZh0y> =2<Ϟc/ -u= c&׭,.0"g"7 6T!vl#sc>{u/Oh Bᾈ)۴74]x7 gMӒ"d]U)}" v4co[ ɡs 5Gg=XR14?5A}D "b{0$L .\4y{_fe:kVS\\O]c^W52LSBDM! C3Dhr̦RtArx4&agaN3Cf<Ԉp4~ B'"1@.b_/xQ} _߃҉/gٓ2Qkqp0շpZ2fԫYz< 4L.Cyυι1t@鎫Fe sYfsF}^ V}N<_`p)alٶ "(XEAVZ<)2},:Ir*#m_YӼ R%a||EƼIJ,,+f"96r/}0jE/)s)cjW#w'Sʯ5<66lj$a~3Kʛy 2:cZ:Yh))+a߭K::N,Q F'qB]={.]h85C9cr=}*rk?vwV렵ٸW Rs%}rNAkDv|uFLBkWY YkX מ|)1!$#3%y?pF<@<Rr0}: }\J [5FRxY<9"SQdE(Q*Qʻ)q1E0B_O24[U'],lOb ]~WjHޏTQ5Syu wq)xnw8~)c 쫬gٲߠ H% k5dƝk> kEj,0% b"vi2Wس_CuK)K{n|>t{P1򨾜j>'kEkƗBg*H%'_aY6Bn!TL&ɌOb{c`'d^{t\i^[uɐ[}q0lM˕G:‚4kb祔c^:?bpg… +37stH:0}en6x˟%/<]BL&* 5&fK9Mq)/iyqtA%kUe[ڛKN]Ě^,"`/ s[EQQm?|XJ߅92m]G.E΃ח U*Cn.j_)Tѧj̿30ڇ!A0=͜ar I3$C^-9#|pk!)?7.x9 @OO;WƝZBFU keZ75F6Tc6"ZȚs2y/1 ʵ:u4xa`C>6Rb/Yм)^=+~uRd`/|_8xbB0?Ft||Z\##|K 0>>zxv8۴吅q 8ĥ)"6>~\8:qM}#͚'ĉ#p\׶ l#bA?)|g g9|8jP(cr,BwV (WliVxxᡁ@0Okn;ɥh$_ckCgriv}>=wGzβ KkBɛ[˪ !J)h&k2%07δt}!d<9;I&0wV/ v 0<H}L&8ob%Hi|޶o&h1L|u֦y~󛱢8fٲUsւ)0oiFx2}X[zVYr_;N(w]_4B@OanC?gĦx>мgx>ΛToZoOMp>40>V Oy V9iq!4 LN,ˢu{jsz]|"R޻&'ƚ{53ўFu(<٪9:΋]B;)B>1::8;~)Yt|0(pw2N%&X,URBK)3\zz&}ax4;ǟ(tLNg{N|Ǽ\G#C9g$^\}p?556]/RP.90 k,U8/u776s ʪ_01چ|\N 0VV*3H鴃J7iI!wG_^ypl}r*jɤSR 5QN@ iZ#1ٰy;_\3\BQQ x:WJv츟ٯ$"@6 S#qe딇(/P( Dy~TOϻ<4:-+F`0||;Xl-"uw$Цi󼕝mKʩorz"mϺ$F:~E'ҐvD\y?Rr8_He@ e~O,T.(ފR*cY^m|cVR[8 JҡSm!ΆԨb)RHG{?MpqrmN>߶Y)\p,d#xۆWY*,l6]v0h15M˙MS8+EdI='LBJIH7_9{Caз*Lq,dt >+~ّeʏ?xԕ4bBAŚjﵫ!'\Ը$WNvKO}ӽmSşذqsOy?\[,d@'73'j%kOe`1.g2"e =YIzS2|zŐƄa\U,dP;jhhhaxǶ?КZ՚.q SE+XrbOu%\GتX(H,N^~]JyEZQKceTQ]VGYqnah;y$cQahT&QPZ*iZ8UQQM.qo/T\7X"u?Mttl2Xq(IoW{R^ ux*SYJ! 4S.Jy~ BROS[V|žKNɛP(L6V^|cR7i7nZW1Fd@ Ara{詑|(T*dN]Ko?s=@ |_EvF]׍kR)eBJc" MUUbY6`~V޴dJKß&~'d3i WWWWWW
Current Directory: /usr/share/doc/userspace-rcu
Viewing File: /usr/share/doc/userspace-rcu/ChangeLog
2018-01-23 Userspace RCU 0.10.1 * Fix: don't use overlapping mmap mappings on Cygwin * Fix: don't use membarrier SHARED syscall command in liburcu-bp * Tests fix: add missing Cygwin thread id * Fix: assignment from incompatible pointer type warnings * Tests fix: unused variable warnings * Fix: add missing m68k headers to dist 2017-06-12 Userspace RCU 0.10.0 * Bump library soname due to urcu flavor structure change * Cleanup: use mutex_lock() wrapper in rculfhash * Use workqueue in rculfhash * Implement urcu workqueues internal API * Add support for m68k architecture * Set -Wall globally in AM_CFLAGS * Fix: remove double use of PTHREAD_CFLAGS * Re-add PTHREAD_CFLAGS to global CFLAGS * Fix: Don't override user variables within the build system * Add report at the end of configure * uatomic-api docs: use the third-person singular * Add --enable-rcu-debug to configure * ARM32: use dmb ish (inner shareable domain) for smp barriers * Cleanup: remove cmm_wmb() from rcu_xchg_pointer and rcu_cmpxchg_pointer * Fix: uatomic arm32: add missing release barrier before uatomic_xchg * Tests: Add verbose support to test script * Fix: add missing CONFIG_RCU_FORCE_SYS_MEMBARRIER to urcu/config.h.in * Allow forcing the use of sys membarrier * Fix: rcutorture: work-around signal issue on mac os x * Fix: rcutorture should register thread using call_rcu * Fix: add missing backslash in Makefile.am * Fix: Do not use wildcards in include/Makefile.am * Bump version to 0.10-pre * Fix: check for rand_r() in compat-rand.h * Fix: Move rand-compat to private src dir * Fix: remove AC_FUNC_MALLOC from configure.ac * Cleanup: Re-organise source dir * Cleanup: remove leftover manual pthread detection * Fix: update ax_pthread macro to handle newer clang * Update library current version due to adding destroy API * Fix: Use pthread_self to get threadid on OSX * Fix: examples: use destroy API for queues/stacks * Update library age due to new stack/queue destroy API * Fix: tests: invoke destroy APIs for queues/stacks * Fix: add missing destroy functions to queues/stack APIs * Fix: add missing __cds_wfcq_init for LGPL API * Fix: memory leak on hash table destroy * Fix: Add failover for platforms without nproc * Fix: use clock_get_time for caa_get_cycles fallback on MacOSX * Fix: syscall-compat.h MacOSX support * Fix: Add solaris-build.md to dist * rculfhash: Documentation: clarify need for grace period before "re-using" * Port: build shared libraries in Cygwin * Port: fix compatibility header for Cygwin * Add GNU Hurd support to syscall-compat.h * Add support for aarch64_be * Fix: urcu-bp: re-initialize list head on library exit * bootstrap: Standardize on autoreconf -vi * Harmonize bootstrap script across projects * Fix: examples make distcheck failure * wfcqueue: add C++ compatibility API * Fix: CDS_WFCQ_WOULDBLOCK typing for c++ * Fix: configure.ac: check for possibly required libs for clock_gettime * Support for NIOS2 architecture * urcu_ref_get_safe: introduce new API * Fix: handle reference count overflow * Fix: compat_futex should work-around futex signal-restart kernel bug * Support for Xeon-Phi with newer MPSS * sparc64: allocate membarrier system call number * hppa: allocate membarrier system call number * Fix build on non-Linux Debian ports * Fix: urcu-signal: smp_mb_master() needs registry lock * Fix: rculfhash only needs to include urcu-pointers.h * Fix: out-of-tree benchmark/regtest * Fix: add missing regtest and benchmark files to dist tarball * Fix: add missing run.sh to benchmark makefile 2015-10-16 Userspace RCU 0.9.0 * Bump soname major to 4 * Cleanup: remove trailing tab * Fix: Use proper macro to detect stdbool.h * Configure: Add missing checks * Port: Add Solaris build instructions * Fix: regtest outputs valid TAP protocol * Port: Detect nproc bin name in benchmark scripts * Port: Add Solaris getcpu support * Port: Fixes to build system for portability * Port: Add Solaris support to tests/common/thread-id.h * Port: Add Solaris support to urcu/syscall-compat.h * Port: replace bzero() by memset() * Port: make bootstrap script work on most shell * tests: rcutorture: use parameters rather than random * Fix: only define membarrier system call on Linux * Refactor tests * Fix: cast caa_cycles_t to unsigned long long * caa_get_cycles: caa_ prefix for type, use CLOCK_MONOTONIC * Cleanup: remove trailing whitespaces at EOL * Cleanup: move generic caa_get_cycles to arch/generic.h * tile: allocate membarrier system call number * ia64: allocate membarrier system call number * aarch64: allocate membarrier system call number * powerpc64le: use "ppc" architecture * arm: allocate membarrier system call number * s390: allocate membarrier system call number * ppc: allocate membarrier system call number * lfstack: relax constraints on node re-use * Fix: format string signedness * Cleanup: tests: Branch condition evaluates to a garbage value * Fix: test: unchecked return value * Fix: test: side-effect in assertion * x86: allocate membarrier system call number * urcu-bp: use sys_membarrier when available * Cleanup: urcu: remove unused membarrier "group" parameter * urcu/ref.h: implement urcu_ref_get_unless_zero() * Fix: compat_futex: uninitialized ret variable * Fix: compat_futex_noasync: don't override return value * Fix: dynamic fallback to compat futex on sys_futex ENOSYS * Detect RCU read-side overflows * Detect RCU read-side underflows * Introduce urcu_assert and registration check * Fix: volatile in assert() * Update following changes to sys_membarrier ABI * uatomic: Specify complete types for atomic function calls * Cleanup: remove unused return value warning from tests * Fix: handle sys_futex() FUTEX_WAIT interrupted by signal * Fix: compat_futex.c: *uaddr should be read as volatile * Cleanup: cast poll delay return value to void * tests: Convert unit tests to TAP * Fix: make benchmark test run in oot build * Fix: call_rcu_thread() affinity failure * Cleanup: cast poll delay return value to void * Cleanup: cast poll delay return value to void * Cleanup: cast poll delay return value to void * Cleanup: cast poll delay return value to void * Cleanup: cast poll() return value to void for delays * urcu: fix deprecation warning with new glibc * urcu: add cds_list_for_each_entry_safe_from macro * Fix: deadlock when thread join is issued in read-side C.S. * Fix: rename RCU_DEBUG to DEBUG_RCU in urcu-qsbr.h * Cleanup some c99 pedantic warnings * Mark braced-groups within expressions with __extension__ * Fix: compat_futex_noasync race condition * tests: Use stderr redirection for time output * Fix: use space after rpath for OS X ld * Fix: move transparent union attribute after union declaration for clang * Configure: add check for used type * Configure: add missing check of headers * Configure: add missing check for funcs: memset, strerror * Fix: documentation: urcu-pointer.h: s/rcu_dereference_pointer/rcu_dereference/ * urcu-bp/urcu-qsbr: remove unneeded DEBUG_YIELD code * Fix: call rcu should call internal RCU API * Fix: silence gcc -Wextra warning * compiler: use __GNUC__ instead of the undefined __GNUC_MAJOR__ * Fix: lfstack reversed empty/non-empty return value * lfstack: fix: add missing __cds_lfs_init * wfstack: add missing union parameters * Fix: preserve example files' timestamps when copying * wfstack: implement mutex-free wfstack with transparent union * wfcqueue: Implement mutex-free wfcqueue head with transparent union * lfstack: Implement mutex-free stack head with transparent union (v2) * rculfhash: remove duplicated code * rculfhash: handle pthread_create failures * rculfhash: fall back to single-threaded resize on calloc failure * x86: drop extra semi-colon in caa_cpu_relax * Cleanup: tests: cast console write return value as void * Modernize doc using Markdown * Fix: update automake following README to README.md change * Modernize README using Markdown * Fix: incorrect parenthesis in cds_hlist_for_each_entry_safe_2 * Fix: Use after free in rcu_barrier() * Fix: rcu_barrier(): uninitialized futex field * call_rcu threads should clear their PAUSED flag when they unpause * test_urcu_fork: test many fork, with 3 children deep * Update list of supported architectures in README * Add support for hppa/PA-RISC architecture * Use autoconf AM_MAINTAINER_MODE * Use gcc atomics on aarch64/powerpc64le * Fix: move wait loop increment before first conditional block * Fix: high cpu usage in synchronize_rcu with long RCU read-side C.S. * Fix: out of tree build: doc/examples * Fix: out of tree build tests/common * tests/unit: use lib rather than source * automake: Rename INCLUDES to AM_CPPFLAGS (new name) * tests regressions: use lib rather than recompile from source * tests: use common lib rather than recompile compat sources * urcu tests: use lib rather than compile from source * urcu mb tests: use lib rather than recompile from source * urcu signal tests: use library rather than recompile source * tests: move yield debug to common test library * tests urcu bp: use lib rather than recompile source * test_urcu_defer: link on urcu lib rather than recompile source * tests/benchmark: use urcu qsbr lib rather than recompile from source * Pass the CC variable to the example Makefiles * Fix: urcu-bp interaction with threads vs constructors/destructors * x86 barrier for Xeon Phi: use rsp on x86-64 * Set RCU_HAVE_FENCE to false on Intel Xeon Phi * Fix undefined NULL pointer arithmetic in hlist * Cleanup: Check for pthread in Libc * Cleanup: Android: Do not redefine gettid * Fix undefined NULL pointer arithmetic * Android: implement rand_r() * Android: do not redefine gettid on Android * Android: add a compat layer for 'syscall.h' * Android: do not link pthread on Android * Android: configure.ac Android check * Blacklist ARM gcc 4.8.0, 4.8.1, 4.8.2 * rculfhash: document max_nr_buckets = 0 * Library major version number (soname) increment to 3 * Fix: tls-compat multi-lib conflict * Use cross compiler for doc examples * Add lttng-dev mailing list to readme * wfcqueue: remove misleading comment * gcc warning fixes: -Wsign-compare and -Wextra * Fix: urcu-qsbr: reversed logic on RCU_DEBUG * Fix: urcu-bp segfault in glibc pthread_kill() * Fix urcu-bp: don't move registry * Fix: compat futex duplicated lock and completion * Fix: i386 compat code duplicated mutex instances * Fix: urcu-bp: Bulletproof RCU arena resize bug * Fix: test_mutex.c uninitialized mutex 2013-09-06 Userspace RCU 0.8.0 * Fix: hash table growth (for small tables) should be limited * Fix: doc/examples cross-build * Introduce URCU_INLINE_SMALL_FUNCTIONS * Add missing tests/common/Makefile.am * README: document make check/regtest/bench * tests: split in check, regtest and bench targets * Cleanup: doc/examples makefile * Fix: doc/examples VPATH build * doc/examples: Move the LIBS after the OBJECTS in the Makefile * Document build work-around on MacOS X * Fix tests: use of uninitialized variables * test_urcu_hash*: initialize TLS seeds * doc/examples: cds_lfht_for_each_entry_duplicate * doc/examples: cds_lfht_lookup * doc/examples: cds_lfht_destroy * doc/examples: cds_lfht_add_replace * doc/examples: cds_lfht_add_unique * doc/examples: cds_lfht_add/cds_lfht_del * doc/examples: add rculfqueue example * doc/examples: add synchronize_rcu() * doc/examples: add bp flavor * doc/examples: add dist toplevel makefile * doc/examples: add membarrier flavor * doc/examples: document call_rcu() * doc/examples: update qsbr example * urcu signal: remove assertion on exit * doc/examples: signal flavor * doc/examples: add mb flavor * doc/examples: update qsbr * doc/examples: introduce urcu-flavors examples directory * doc/examples: enhance rcu-flavor-qsbr example * doc/examples: rename qsbr-minimal to rcu-flavor-qsbr * doc/examples: automake stop on error * doc/examples: hlist * hlist/rcuhlist update * doc/examples: fix typo in list example * rcuhlist: make pointer stores atomic * hlist, rcuhlist: cleanup coding style * doc/examples: lfstack * doc/examples: update cds_wfs_pop_all_blocking * doc/examples: cds_wfs_pop_all_blocking * doc/examples: cds_wfs_pop * doc/examples: add missing Makefile * doc/examples: cds_wfs_push * doc/wfcqueue: cds_wfcq_splice * doc/examples: add cds_wfcq_dequeue * doc/examples: wfcq needs to link against urcu-common * doc/examples: update queue comment * doc/examples: fix make clean * gitignore: add qsbr-minimal * doc/examples: cds_wfcq_enqueue * doc/examples: Move LIBS to each makefile * doc/examples: cds_list_for_each_rcu * doc/examples: cds_list_for_each_entry_rcu * doc/examples: cds_list_replace_rcu * doc/examples: cds_list_add_tail_rcu * doc/examples: cds_list_del_rcu * doc/examples: cds_list_add_rcu * rculist: ensure atomic updates of next pointers * rculist: implement cds_list_add_tail_rcu * rculist.h and list.h style cleanup * example makefile: add missing cd .. * Update gitignore * Fix: examples Makefile on FreeBSD * hash table test: don't redefine CACHE_LINE_SIZE * tests: use thread-id.h wrapper * Implement thread-id.h wrapper * tests: add missing unsigned long casts to pthread_self() * Fix: don't build examples in static builds * Add QSBR minimal example * compiler.h: implement CAA_ARRAY_SIZE() * document rcu barrier * rcu barrier: handle OOM die urcu_die * Implement rcu_barrier() * rculfhash: document destroy context limitations * Add MIPS to README * Update README * Update README testing info about FreeBSD * test: fix api.h missing if brackets * tests: fix incorrect counter * Fix: membarrier fallback symbol conflict * Fix: Use a filled signal mask to disable all signals * urcu-bp: introduce struct urcu_gp * Fix: struct urcu_gp broke multiflavor * Cleanup test usage printout * wfstack tests: use pop "last" state info * wfstack: return whether pop is popping the last element * wfcqueue tests: use dequeue empty state * wfcqueue: return whether dequeue is dequeuing last element * urcu: avoid false sharing for rcu_gp_ctr * urcu: make the code of urcu-qsbr as normal urcu * rculfhash: detect if resize/destroy are called within RCU read-side C.S. * Documentation: rculfhash: cds_lfht_resize not within read-side C.S. * fix: rculfhash don't change qsbr online state * Add rcu_read_ongoing() API to each urcu flavor * Add "sparc" host cpu to configure.ac * futex: include syscall.h instead of sys/syscall.h * Add tab to output in order to allow easy nesting of tables. * Remove urcu-api-list.sh from dist tarball * Add urcu-api-list.sh script * list: implement cds_list_for_each_safe() * Fix: tests/api.h use cpuset.h * Fix hurd-i386: move cpuset tests outside of sched_setaffinity conditional * Fix tests: finer-grained use of CPU_SET, CPU_ZERO and cpu_set_t * Test for CPU_SET * Fix build on architectures with HAVE_SCHED_GETCPU but without HAVE_SYSCONF * README: document that Clang 3.0 (based on LLVM 3.0) is supported * clang: silence "unused expression result" warning * rculfhash: add assertions on node alignment * Spelling cleanups within comments and documentation * Fix configure checks for Tile * uatomic: style fix * doc/cds-api.txt: expand documentation * README: document each API file * README: reorganize * Add compilation support for the TileGX architecture * wfstack: add nonblocking to _LGPL_SOURCE API * Discourage use of pthread_atfork() for call_rcu handlers * Fix call_rcu fork handling * test: fork handling * rculfhash: add cds_lfht_replace to the write operations in the comments * urcu: fix comments for cds_list_for_each_prev() * documentation: fix rcu-api.txt duplicates * test wfcq: remove unneeded urcu.h include * test wfs: remove unneeded urcu.h include * urcu: declare test_urcu_multiflavor functions * urcu: remove the wrong comma * wfstack: implement nonblocking pop and next * wfcqueue: document first/next return values * wfstack: update comments about cds_wfs_empty/first being wait-free * wfstack API: rename cds_wfs_first_blocking to cds_wfs_first * wfstack test: test if number of push to empty vs pop_all match * wfstack: document first/next return values * test wfstack: enforce external mutex if needed by default * test wfcqueue: enforce external mutex if needed by default * urcu-mb/signal/membarrier: batch concurrent synchronize_rcu() * urcu-wait: move queue management code into urcu-wait.h * urcu-wait: move wait code into separate file * urcu-qsbr: batch concurrent synchronize_rcu() * tests: use standard malloc/free for synchronize_rcu() * urcu-bp: move quiescent threads to separate list * urcu-mb/signal/membarrier: move quiescent threads to separate list * urcu-qsbr: move offline threads to separate list * urcu-bp: improve 2-phase wait scheme * urcu-mb/signal/membarrier: improve 2-phase wait scheme * urcu-qsbr: improve 2-phase wait scheme * wfcqueue: implement mutex-free splice * wfcqueue: document empty criterion * urcu-call-rcu: use wait-free splice return value * test wfcqueue: add tests for queue state return value * wfcqueue: enqueue and splice return queue state * Fix: wfcqueue nonblocking dequeue * wfcqueue: Fix lock and unlock functions * runtests: Make path of time binary configurable * urcu-qsbr: skip Q.S. reporting if already reported * Fix TLS detection: test with linker, add --disable-compiler-tls * Cleanup: cast pthread_self() return value to unsigned long * Fallback mechanism not working on platform where TLS is unsupported * Revert "Fix: cross-build: configure.ac should use --target, not --host" * Fix: cross-build: configure.ac should use --target, not --host * test_urcu_wfcq: add splice and nosync tests * test_urcu_wfs: cleanup * test_urcu_lfs: cleanup * Fix static linking: add missing static for _defer_rcu * tests: report error value for make check * Add multiflavor test program * Fix static linking: fix symbol name namespaces * Fix static linking: add missing static to thr_defer * Fix static linking: add missing static * deprecation: fix build with gcc < 4.5 * wfstack.c: update copyright notice * Update wfstack copyright notice * Comment fix: update associated LGPL header name * Update cds-api.txt following API deprecations * Deprecate wfqueue * Deprecate rculfstack * wfcqueue: introduce nonblocking API * lfstack: test pop_all and pop * lfstack: implement empty, pop_all and iterators, document API * lfstack: implement test * lfstack: implement lock-free stack * wfstack: implement pop_all and iteration tests * wfstack: implement cds_wfs_pop_all and iterators, document API * rculfhash test: fix trivial memleak and return node leak and errors * rculfhash: add missing extern * Cleanup: fix cppcheck errors * wfcqueue: remove ancient comment * test_urcu_lfq: remove rcu_defer_register_thread() from test_urcu_lfq * test_urcu_lfq: test for the proper pointer * test_urcu_lfs: remove rcu_defer_register_thread() from test_urcu_lfs * test_urcu_lfs: test for the proper pointer * wfcqueue: clarify locking usage * Document APIs in README * Test cleanup: replace "l" parameter by "loops" * Add wfcqueue header to cds.h * Fix: urcu-bp, urcu, urcu-qsbr should include wfcqueue * Fix: call_rcu list corruption on teardown (documentation) * call_rcu: remove head field alignement, explain wfcqueue motivation * wfcqueue: update credits in patch documentation * wfcqueue documentation: hint at for_each iterators * Fix urcu-call-rcu-impl.h: false-sharing * call_rcu: use wfcqueue, eliminate false-sharing * wfcqueue test * wfcqueue: implement concurrency-efficient queue * Ensure that read-side functions meet 10-line LGPL criterion * tls-compat.h: document sigaltstack(2) limitation * urcu: add notice to URCU_TLS() for it is not strictly async-signal-safe * Document sigaltstack(2) limitation * Documentation: update LICENSE file 2012-08-27 Userspace RCU 0.7.4 * rculfhash API documentation: document destroy RCU read-lock constraint * Fix: rculfhash should be offline while waiting for resize to complete * Add missing entry to gitignore * urcu: move busy-wait code and name it ___cds_wfq_node_sync_next() * urcu: fix compat_futex_noasync() * urcu: add hint to DEFINE_URCU_TLS() for compound types * Fix: CAA_BUILD_BUG_ON should refer to CAA_BUILD_BUG_ON_ZERO * Add MIPS support * Compatibility: remove bash-ismsm from test scripts * Fix inappropriate lib behavior: don't call exit() * Fix: re-enable compatibility with autoconf < 2.64 * Fix c99 compatibility: use __asm__ and __volatile__ in public headers * Fix c99 compatibility: use __typeof__ instead of typeof in public headers * warning fix: tests urcutorture for NetBSD 5 2012-06-01 Userspace RCU 0.7.3 * Fix tests: make dist lib dependency * Update README for OS supported, tests dependency * Add CodingStyle to tarball * Add coding style document * Test fix: test_perthreadlock uninitialized mutex * tests: support FreeBSD short "time" args * freebsd 8.2 fix: define MAP_ANONYMOUS for compatibility 2012-05-24 Userspace RCU 0.7.2 * Fix library compatibility 2012-05-24 Userspace RCU 0.7.1 * fix: uatomic_set return value compile fix for non-x86 arch. 2012-05-21 Userspace RCU 0.7.0 * Cleanup: header comments coding style * Document uatomic operations * Update return value of "set" operations * Fix mremap wrapper for NetBSD 5 * Use urcu/tls-compat.h * Implement urcu/tls-compat.h * Add TLS detection m4 macro * document concurrent data structures * documentation: refer to rcu-api.txt * Move API.txt to doc/rcu-api.txt, install in system doc/ * rculfhash: document implied memory barriers * rculfhash: Ensure future-proof memory barrier semantic consistency * API cleanup: use "uatomic_*" in cmm_smp_mb__ API * uatomic: add memory barrier API for and/or/add/sub/inc/sub * rculfhash: add runhash.sh test script * rculfhash tests: add missing check * rculfhash: fix: race between replace and del operations * rculfhash: replace unneeded rcu_dereference by CMM_LOAD_SHARED * rculfhash: use do {} while (0) for dbg_printf() * rculfhash: cleanup typo * rculfhash: update API comments * rculfhash: update comments in implementation * rculfhash tests: add long hash chains tests * rculfhash tests: add uniqueness test * rculfhash test: print test name * rculfhash: stress requirement in documentation * rculfhash: fix typo * rculfhash tests: use array of callbacks to modularize * rculfhash tests: modularize tests * rculfhash: document ordering guarantees * rculfhash: document linearizability guarantees * rculfhash: update removal comment * Add missing files to .gitignore * Fix out-of-tree build * rculfhash: check malloc NULL pointer * Fix uatomic sign cast * Remove unused jhash.h file * Fix: use known license text, fix incorrect FSF address * Fix: add missing sched.h include in rculfhash.c * Allow tests to run on architectures without per-cpu call_rcu support * Hash table test: FreeBSD compatibility fix * tests: define _GNU_SOURCE instead of __USE_GNU * RCU lock-free hash table: implement cds_lfht_is_node_deleted() * Define _GNU_SOURCE to access CPU_ZERO() macro in uClibc * Install ChangeLog and README into system's doc * Fix AC_LANG_SOURCE usage: only takes one parameter * Fix autoconf futex check * configure.ac: Use AC_LANG_SOURCE for if else macros * Refresh autoconf files * Update gitignore * rculfhash: add comment about hash seed randomness within test program * readme: state correct GCC dependency for ARM * rculfhash: remove an invocation of bit_reverse_ulong() when adding * rculfhash: remove unneeded conversion * rculfhash: remove unneeded clear_flag() * cds_lfht_replace: add checks for old/new node hash/value match * rculfhash: use node instead of iter argument for deletion * rculfhash: number of logically removed nodes should not appear in API * Document that flags could be represented on 2 bits * Add missing REMOVAL_OWNER_FLAG comment to cds_lfht_node comment * _cds_lfht_del is not used for buckets anymore, remove parameter * rculfhash: Relax atomicity guarantees required by removal operation * remove unneeded "return;" * simplify the deletion for bucket node * Remove unneeded code * Cleanup DEFINE_RCU_FLAVOR() * Add cds_lfht_ prefix to fls_ulong, get_count_order_ulong, get_count_order_u32 * Merge RCU Lock-Free Resizable Hash Table 2011-12-12 Userspace RCU 0.6.7 * Add compat file for test urcu wfs * Add missing compat file for wfq test * hlist.h: Add missing stddef.h include for NULL * call_rcu: Add missing call_rcu_before_fork and call_rcu_after_fork_parent declarations * Describe autotools/libtool/automake version dependency * Remove m4_ifdef for AC_PROG_LIBTOOL (deprecated) * Support older autotools * Apply autoupdate to configure.ac * Fix build for amd64 environment (for FreeBSD 8.2) * Add missing rcu_dereference_sym_bp * Install test scripts in the dist tarball 2011-11-03 Userspace RCU 0.6.6 * qsbr vs call_rcu : remove exit assertion * Rename likely/unlikely to caa_likely/caa_unlikely * Reinsert missing test_urcu_*.c files (missing in rename) * rename test_qsbr to test_urcu_qsbr * urcu-pointer: fix rcu_set_pointer unset return value * Enhance API.txt documentation, add to Makefile as EXTRA_DIST 2011-09-29 Userspace RCU 0.6.5 * call_rcu: Document call_rcu requirements * call_rcu: fix error handling of malloc error * urcu call_rcu: Use RCU read-side protection for per-cpu call_rcu data * urcu,call_rcu: Cleanup call_rcu_data pointers before use in child * urcu,call_rcu: avoid create call_rcu_data for child when unneed * urcu,defer_rcu: Make defer_rcu encoding more compact for marker * urcu_defer: Use cancellation flag instead of pthread_cancel() * urcu,call_rcu: protects call_rcu_data_list when remove node * Create default call rcu data upon per-cpu call-rcu teardown * powerpc: use __NO_LWSYNC__ check to use appropriate lwsync/sync opcode * cmm: provide lightweight smp_rmb/smp_wmb on PPC * atomic: provide seq_cst semantics on powerpc * avoid leaking crdp for failed path * Return -EEXIST when the old cpu call_rcu_data has not been removed * protect writing to per_cpu_call_rcu_data[*] * wake up default call_rcu thread after we move the leftover callbacks * avoid memory leak in call_rcu_data_free() * urcu call_rcu: fix use after free() * use get_cpu_call_rcu_data() for get_call_rcu_data() * init maxcpus before use * call_rcu implementation: add missing static * Document QSBR interaction with mutexes * urcu-pointer: implement URCU_FORCE_CAST for C++ compatibility of urcu-pointer.h * urcu-qsbr: use rcu_thread_offline/rcu_thread_online instead of inlining them * Pair all_cpu call_rcu create with free * QSBR: add missing wakeups in synchronize_rcu code * cmm: do not generate code for smp_rmb/smp_wmb on x86_64 * cmm: let per-arch files provide cmm_smp_* barriers * Optimize caa_get_cycles() for PowerPC64 * lfq/lfs tests: use call_rcu * list: Add cds_list_first_entry * rculfstack/queue: define _LGPL_SOURCE around static header include * Add __rcu annotation (unimplemented) * Fix incorrect fsf address in header files * wfstack: push returns prior stack emptiness state * Make lf stack push return if the stack was empty * Document caa_container_of * urcu-bp: do not call munmap for NULL registry at exit * urcu libraries can directly use the _LGPL_SOURCE wfqueue * rculfstack: document "push" * Add runall.sh to tarball * Fix build order of liburcu-cds-common * Fix missing check for SYS_membarrier in map header * urcu-qsbr: avoid useless futex wakeups and burning CPU for long grace periods * api: reimplement BUILD_BUG_ON in compiler.h * test api cleanup: remove unused primitives * put thread offline while waiting for the init flag * urcu: move private definitions to .c file * urcu-bp: move private definitions to .c file * urcu-qsbr: move private definitions to .c file * rcutorture: fix rcutorture-qsbr * wfqueue: fix type-incorrect assignment * Fix tests Makefile EXTRA_DIST to use api.h * Fix choice of default flavour in urcu/map/urcu.h * api: remove list/hlist * api: remove arch-specific files * api: make api_gcc.h a superset of the other headers * tests api: remove atomics * put thread offline while waiting for the init flag * urcu: move private definitions to .c file * urcu-bp: move private definitions to .c file * urcu-qsbr: move private definitions to .c file * rcutorture: fix rcutorture-qsbr * wfqueue: fix type-incorrect assignment * Use caa_ prefix for min() and max() 2011-07-21 Userspace RCU 0.6.4 * uatomic: Fix ARM build errors in uatomic. * urcu tests: hold mutex across use of custom allocator. * Portability fixes to support FreeBSD 8.2. 2011-06-27 Userspace RCU 0.6.3 * uatomic: Fix i386 compatibility build errors in uatomic. 2011-06-13 Userspace RCU 0.6.2 * Fix build on powerpc. 2011-06-13 Userspace RCU 0.6.1 * Add missing headers into release tarball: urcu-call-rcu-impl.h and urcu-defer-impl.h 2011-06-10 Userspace RCU 0.6.0 * Added call_rcu() support, graciously contributed by Paul E. McKenney. * Added urcu/cds.h and merged all "Concurrent Data Containers" (CDS) into a single .so: liburcu-cds.so to have a single header/shared object holding all concurrency-aware data containers. It provides support for RCU lists, queues and stacks at the moment. * liburcu 0.6.0 now allows linking a single application with multiple flavors of RCU. This required a library API change which is incompatible with older 0.5.x liburcu. The .so version number is therefore bumped from 0 to 1 (e.g. liburcu.so.1). * Added "atfork" handling API, documented in README. Only useful for processes using fork() without following exec(). * Renaming the following files, keeping the old files (producing a compiler warning): urcu/uatomic_arch.h -> urcu/uatomic.h urcu/urcu-futex.h -> urcu/futex.h urcu/urcu_ref.h -> urcu/ref.h 2011-03-04 Userspace RCU 0.5.4 * urcu-bp: Update fork() handling Introduce extern void rcu_bp_before_fork(void); extern void rcu_bp_after_fork_parent(void); extern void rcu_bp_after_fork_child(void); to handle fork gracefully. These disable signals and hold the registry mutex across forks. (this flavor of the liburcu library ("bp" for "bulletproof") is mainly used by UST, the user-space tracer). 2011-03-03 Userspace RCU 0.5.3 * Add support for older ARM single-CPU architecturess (pre-ARMv7) (thanks to Jason Wessel from WindRiver). * Fix ARMv7 cmm_rmb/cmm_wmb primitives (use a dmb barrier). * Remove leftover list_t type from urcu/list.h (namespace cleanup). * urcu_defer: handle malloc error value. * Update README file to describe urcu interaction with fork() when not * followed by an exec() system call. 2010-11-18 Userspace RCU 0.5.2 * Fix renaming error introduced in 0.5.0. 2010-11-18 Userspace RCU 0.5.1 * Fix renaming error introduced in 0.5.0. (incomplete fix) 2010-11-18 Userspace RCU 0.5.0 * Version 0.5.0 changes the API presented by memory model, architecture abstraction and data structure primitives in headers. The prefixes are, respectively: - cmm_ : Concurrent Memory Model - caa_ : Concurrent Architecture Abstraction - cds_ : Concurrent Data Structures 2010-03-04 Userspace RCU 0.4.2 * Add generic uatomic ops support. * Bugfix in urcu-bp. (rare garbage collection bug occurring in multithreaded environment). Only affects urcu-bp users (UST). 2010-02-12 Userspace RCU 0.4.1 * s390: compilation fix. 2010-01-30 Userspace RCU 0.4.0 * API change: SIGURCU -> SIGRCU * API changes: standardize on rcu_ prefix. * API change: urcu_init -> rcu_init. * urcu/config.h options renamed to CONFIG_RCU_HAVE_FENCE, CONFIG_RCU_HAVE_FUTEX, CONFIG_RCU_SMP, CONFIG_RCU_COMPAT_ARCH. ((moving from URCU -> RCU). * library names changes: liburcu becomes the "default" version, using sys_membarrier() when available, and using liburcu-mb as a fallback. * The signal-based liburcu is renamed from liburcu to liburcu-signal. People previously using the signal-based "liburcu" will automatically be moved to the "default" liburcu version. 2009-11-16 Userspace RCU 0.3.1 * Add support for sparcv9 32-bit build. * Update build system to use --host instead of --target. 2009-11-03 Userspace RCU 0.3.0 * API change for the "deferred work" interface. 2009-10-14 Userspace RCU 0.2.3 * Move to autotools. * Automated architecture detection, with i386 fallback. * Detect if NR_futex is on the system, fallback on portable alternatives. * Add configure mode for UP-only systems. 2009-10-02 Userspace RCU 0.2.2 * Phases out rcu_publish_content() api. * Adds type checking to urcu-pointer.h pointer exchange primitives. 2009-10-02 Userspace RCU 0.2.1 * small header dependency fix for rculist.h. * new "liburcu-bp.so" : "Bulletproof RCU", made especially for the UST userspace tracer. It's a library that sacrifices a bit of read-side performance for automatically monitoring thread creation/removal. See README for details. 2009-10-01 Userspace RCU 0.2 * Clarify usage of rcu_cmpxchg_pointer, rcu_xchg_pointer, rcu_set_pointer. 2009-09-29 Userspace RCU 0.1 * Initial release.