Guys

this fix would be a good one to get in - 
http://sourceforge.net/tracker/?func=detail&aid=3582209&group_id=1730&atid=101730

looks like the code is there but it's not being called properly when not in 
debug mode.

any chance of getting it in for 2.0?

cheers
Matt

From: Nick Wagner [mailto:ne...@wingedbeast.org]
Sent: 02 November 2012 02:08
To: Jim Marshall
Cc: John Calcote; openslp-devel@lists.sourceforge.net
Subject: Re: [Openslp-devel] slptool hangs on AIX?

I've added Jim's AIX building patches, and I tweaked openslp.misc/debian/init.d 
to have the " -- -p /var/run/$NAME.pid" set correctly. Version 1694.

Other than that, I think the only potentially outstanding thing is Gavin's code 
to handle network changes.  Which I have not looked at, and will probably 
require more testing.  Does the group want to look at them, or move on with 
2.0?  Or are there other patches/bugs we've missed?

--Nick

On Thu, Nov 1, 2012 at 2:49 PM, Jim Marshall 
<jim.marsh...@wbemsolutions.com<mailto:jim.marsh...@wbemsolutions.com>> wrote:
Are there any other changes that are being waited on? I've run our tests and 
they all work, so I would like to propose we roll out 2.0.

Thanks

John Calcote wrote:
Fixed in revision 1693 - SLP atomics now return the correct (new) value on AIX.

John

From: John Calcote [mailto:john.calc...@gmail.com]
Sent: Tuesday, October 30, 2012 12:14 PM
To: Jim Marshall
Cc: 
openslp-devel@lists.sourceforge.net<mailto:openslp-devel@lists.sourceforge.net>
Subject: Re: [Openslp-devel] slptool hangs on AIX?

Hi Jim,
On Tue, Oct 30, 2012 at 10:54 AM, Jim Marshall 
<jim.marsh...@wbemsolutions.com<mailto:jim.marsh...@wbemsolutions.com>> wrote:
Hi,
 Been testing the AIX build I have and the agent is working fine but when I 
invoke slptool it basically hangs. Stepping into the code we get to 
libslp_handle.c line 66

if (SLPAtomicInc(&s_OpenSLPHandleCount) == 1)

The SLPAtomicInc function does this on AIX:

return (intptr_t)fetch_and_add((atomic_p)pn, 1);

This is the cause of the hang, because fetch_and_add "[...] returns the 
original value of the variable" (from the man page), in this case '0'. When 
this happens the code enters a while loop


Well, that's kind of useless, isn't it? It should be replaced with:

   return (intptr_t)fetch_and_add((atomic_p)pn, 1) + 1;

The idea here is to atomically increment the value stored at pn. If two threads 
try to do it at once, then they could both read the value, increment it and 
both write the same value back out. The use of atomic_add should cause both 
threads to actually increment the value, regardless of how in-sync they are on 
their attempts to update the value.

It's only a side-effect (that we take advantage of) that most atomic incs 
return the newly updated value. Since the AIX version returns the original 
value, and we're guaranteed to read/update/write atomically when we add 1 to 
that original value, then we can assume that the value we get back PLUS ONE is 
our actual desired return value.

I'll fix it.

John

--
Jim Marshall
Sr. Software Engineer
[cid:image001.jpg@01CDB8EF.D36EC940]<http://ws-inc.com/>


------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
_______________________________________________
Openslp-devel mailing list
Openslp-devel@lists.sourceforge.net<mailto:Openslp-devel@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/openslp-devel

<<inline: image001.jpg>>

------------------------------------------------------------------------------
LogMeIn Central: Instant, anywhere, Remote PC access and management.
Stay in control, update software, and manage PCs from one command center
Diagnose problems and improve visibility into emerging IT issues
Automate, monitor and manage. Do more in less time with Central
http://p.sf.net/sfu/logmein12331_d2d
_______________________________________________
Openslp-devel mailing list
Openslp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openslp-devel

Reply via email to