From: Matt Z. <mzagrabe@d.umn.edu> - 2007-07-11 19:29:16
|
On Wed, 2007-07-11 at 11:56 -0700, Austin Schutz wrote: > On Wed, Jul 11, 2007 at 10:50:32AM -0500, Matt Zagrabelny wrote: > > [...] > >=20 > > > Does anybody knows why I'm getting this strange behavior ? > >=20 > > Check the archives. > >=20 > > From [1] comes: > >=20 > > >> > > While Expect is supposed to be reasonably threadsafe, IO-Tty is *not*, > > that's where the problems come from. If you want to automate telnet, > > using Net::Telnet with Expect should be possible under threads. > > << > >=20 > > I have had issues getting expect to use a spawned Net::Telnet object as > > well (which is "supposed to be" thread safe). After much gnashing of > > teeth, i have given up on Expect and been using Net::Telnet alone; whic= h > > is disappointing, because Expect is much more powerful and elegant than > > Net::Telnet, however many *many* hours were wasted trying to get them t= o > > work together across a diverse population of Cisco gear. > >=20 >=20 > Have you tried using exp_init on a Net::Telnet object? That doesn't > use IO::Tty. Yes, and by in large it worked. However, there were some Cisco switches that it did not work for. So... I emailed the list and a fellow gave me some good advice and my problems were solved, so I thought. There were still some anomalies that were not working correctly. So to recap: * Expect worked with everything, but no threads * Expect with Net::Telnet was threaded, but could not communicate to all switches * Expect with Net::Telnet plus trick from mailing list was able to communicate to almost all switches, but not all Hence... I now use Net::Telnet by itself. It is not as elegant as Expect, but the thread speedup is *awesome*. --=20 Matt Zagrabelny - mzagrabe@d.umn.edu - (218) 726 8844 University of Minnesota Duluth Information Technology Systems & Services PGP key 1024D/84E22DA2 2005-11-07 Fingerprint: 78F9 18B3 EF58 56F5 FC85 C5CA 53E7 887F 84E2 2DA2 He is not a fool who gives up what he cannot keep to gain what he cannot lose. -Jim Elliot |