Watkins, Bradley wrote: > The contents of this e-mail are intended for the named addressee only. It > contains information that may be confidential. Unless you are the named > addressee or an authorized designee, you may not copy or use it, or disclose > it to anyone else. If you received it in error please notify us immediately > and then destroy it. > >> From: [EMAIL PROTECTED] >> [mailto:[EMAIL PROTECTED] On Behalf Of >> Julian Lyndon-Smith >> Sent: Saturday, July 28, 2007 5:18 AM >> To: [email protected] >> Subject: [asterisk-users] global variables and updates >> >> Sorry if this appears twice - I originally sent it nearly 18 >> hours ago >> and never saw it .. >> >> I have a need to have a unique integer number that can be used by a >> dynamic meetme room (I am wanting to redirect a call into a meeting >> room, and need a unique number to make sure I don't put two people >> together !) >> >> I was going to use a global variable ${NEXTMEETME}, and add one every >> time I redirect. >> >> Is the changing of a global variable atomic ? That is, if I >> have two or >> more channels being redirected at the same time, and they all execute >> >> exten => _X.,n,Set(NEXTMEETME=${MATH(${NEXTMEETME}+1,i)}) >> exten => _X.,n,Set(MYMEETME=${NEXTMEETME}) >> >> if NEXTMEETME is initially 0, would channel A get MYMEETME as >> 1, channel >> B get 2 and channel C get 3, even if they execute the dialplan at the >> same time ? >> > > The changing of variables is not atomic as would hope, but there is a > solution for you. Look the application MacroExclusive. Put your Set to > increment the global variable inside of a macro and call it using this, > and you will get the behavior you desire. One caveat, however, is that > you will want as little logic as possible inside of this macro. > MacroExclusive will block all other calls to this macro until the first > one exits. But this is not an issue if all you are doing is a quick > var++ and then leaving. >
That's a very nice feature. A quick Google search on the wiki didn't turn up any topics. Does it queue subsequent calls or just block them and then logic in the dialplan must be used against a return value? --- Warm Regards, Lee _______________________________________________ --Bandwidth and Colocation Provided by http://www.api-digital.com-- asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
