Thread: [Quickfix-developers] SocketInitiator.stop() Problem
Brought to you by:
orenmnero
From: Tom W <twi...@mq...> - 2008-07-15 20:07:21
|
I have been trying to find a solution to this problem, without success. I've seen several other posts around the internet (mostly from a few years ago) but have yet to find a tangible solution. I am finished with my current FIX session, so I send a logout message (5) to the FIX server and the logout completes fine. I then want to stop/close my SocketInitiator and reset it so it can be reused for the next session. This is the code I have : public void onLogout(SessionID sessionID) { if (this._socketInitiator != null) { this._socketInitiator.stop(true); // HANGS HERE } } When I then try to start another session using the same SocketInitiator, I get the exception : "Configuration failed: Could not open body file: Logs\\FIX.4.2-ABC-DEF.body" when I try to run this line of code : this._socketInitiator = new SocketInitiator(this, this._storeFactory, this._settings, this._logFactory, this._msgFactory); It seems as if the SocketInitiator has not released all its resources fully, and the .body file is indeed locked when I try to open it in, say, Notepad. I have seen suggestions to using CVS (I'm not sure exactly what this is or how to go about doing this) but surely there is a simpler solution to what must be a fairly common action? I am using FIX 4.2 and the latest version of QuickFIX from www.quickfixengine.org. Any solutions gratefully received! Tom -- View this message in context: http://www.nabble.com/SocketInitiator.stop%28%29-Problem-tp18473551p18473551.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: George H. <ge...@so...> - 2008-07-17 21:04:04
|
Has anyone here compiled, "quickfix-1.12.4" under Fedora 9, x86_64? This is the error I am getting: > ./configure --prefix=/opt/FIXX/quickfix-build --with-ruby --with- mysql=/usr ... ... > make make all-recursive make[1]: Entering directory `/opt/FIXX/quickfix' Making all in src make[2]: Entering directory `/opt/FIXX/quickfix/src' Making all in C++ make[3]: Entering directory `/opt/FIXX/quickfix/src/C++' Making all in test make[4]: Entering directory `/opt/FIXX/quickfix/src/C++/test' if /bin/sh ../../../libtool --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I../../.. -I.. -O2 -march=native -pipe -g -O2 -Wall -ansi -Wpointer- arith -Wwrite-strings -I/usr/include/mysql -I/usr/mysql/include -I/ usr/include/libxml2 -I/usr/lib64/ruby/1.8/x86_64-linux -O0 -g -MT FieldBaseTestCase.lo -MD -MP -MF ".deps/FieldBaseTestCase.Tpo" \ -c -o FieldBaseTestCase.lo `test -f 'FieldBaseTestCase.cpp' || echo './'`FieldBaseTestCase.cpp; \ then mv ".deps/FieldBaseTestCase.Tpo" ".deps/FieldBaseTestCase.Plo"; \ else rm -f ".deps/FieldBaseTestCase.Tpo"; exit 1; \ fi mkdir .libs g++ -DHAVE_CONFIG_H -I. -I. -I../../.. -I.. -O2 -march=native -pipe - g -O2 -Wall -ansi -Wpointer-arith -Wwrite-strings -I/usr/include/mysql -I/usr/mysql/include -I/usr/include/libxml2 -I/usr/lib64/ruby/1.8/ x86_64-linux -O0 -g -MT FieldBaseTestCase.lo -MD -MP -MF .deps/ FieldBaseTestCase.Tpo -c FieldBaseTestCase.cpp -fPIC -DPIC -o .libs/ FieldBaseTestCase.o In file included from ../FieldTypes.h:29, from ../FieldConvertors.h:25, from ../Field.h:32, from FieldBaseTestCase.h:26, from FieldBaseTestCase.cpp:27: ../Utility.h:179: error: 'std::strcmp' has not been declared ../Utility.h:181: error: 'std::strlen' has not been declared ../Utility.h:184: error: 'std::memcpy' has not been declared ../Utility.h:185: error: 'std::memset' has not been declared ../Utility.h:189: error: 'std::strerror' has not been declared In file included from ../FieldConvertors.h:26, from ../Field.h:32, from FieldBaseTestCase.h:26, from FieldBaseTestCase.cpp:27: ../Exceptions.h: In member function 'std::string FIX::SocketException::errorToWhat()': ../Exceptions.h:253: error: 'strerror' was not declared in this scope In file included from FieldBaseTestCase.h:26, from FieldBaseTestCase.cpp:27: ../Field.h: In member function 'void FIX::FieldBase::calculate() const': ../Field.h:110: error: 'memcpy' was not declared in this scope make[4]: *** [FieldBaseTestCase.lo] Error 1 make[4]: Leaving directory `/opt/FIXX/quickfix/src/C++/test' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/opt/FIXX/quickfix/src/C++' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/opt/FIXX/quickfix/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/opt/FIXX/quickfix' make: *** [all] Error 2 Looks like I might be missing an RPM? -George H |
From: George H. <ge...@so...> - 2008-07-18 16:33:04
|
Ok, for anyone working with Fedora 9 x86_64, this is how I got the software to compile: First, run: > ./configure --prefix=/opt/FIXX/quickfix-build --with-mysql=/usr -- with-boost=/usr Aftreward, edit "conf.status" and change the two lines below: s,@LIBS@,|#_!!_#|-lpthread -lxml2 -lz -lm -L/usr/lib64/mysql - lmysqlclient -liberty,g s,@MYSQL_LIBS@,|#_!!_#|-L/usr/lib64/mysql -lmysqlclient,g Then run: > ./conf.status Then: > make -j8 It should compile nicely. -George On Jul 17, 2008, at 5:04 PM, George Hrysanthopoulos wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > Has anyone here compiled, "quickfix-1.12.4" under Fedora 9, x86_64? > > This is the error I am getting: > > > ./configure --prefix=/opt/FIXX/quickfix-build --with-ruby --with- > mysql=/usr > > ... > ... > > > make > make all-recursive > make[1]: Entering directory `/opt/FIXX/quickfix' > Making all in src > make[2]: Entering directory `/opt/FIXX/quickfix/src' > Making all in C++ > make[3]: Entering directory `/opt/FIXX/quickfix/src/C++' > Making all in test > make[4]: Entering directory `/opt/FIXX/quickfix/src/C++/test' > if /bin/sh ../../../libtool --mode=compile g++ -DHAVE_CONFIG_H -I. - > I. -I../../.. -I.. -O2 -march=native -pipe -g -O2 -Wall -ansi - > Wpointer-arith -Wwrite-strings -I/usr/include/mysql -I/usr/mysql/ > include -I/usr/include/libxml2 -I/usr/lib64/ruby/1.8/x86_64- > linux -O0 -g -MT FieldBaseTestCase.lo -MD -MP -MF ".deps/ > FieldBaseTestCase.Tpo" \ > -c -o FieldBaseTestCase.lo `test -f 'FieldBaseTestCase.cpp' || > echo './'`FieldBaseTestCase.cpp; \ > then mv ".deps/FieldBaseTestCase.Tpo" ".deps/ > FieldBaseTestCase.Plo"; \ > else rm -f ".deps/FieldBaseTestCase.Tpo"; exit 1; \ > fi > mkdir .libs > g++ -DHAVE_CONFIG_H -I. -I. -I../../.. -I.. -O2 -march=native -pipe > -g -O2 -Wall -ansi -Wpointer-arith -Wwrite-strings -I/usr/include/ > mysql -I/usr/mysql/include -I/usr/include/libxml2 -I/usr/lib64/ruby/ > 1.8/x86_64-linux -O0 -g -MT FieldBaseTestCase.lo -MD -MP -MF .deps/ > FieldBaseTestCase.Tpo -c FieldBaseTestCase.cpp -fPIC -DPIC -o .libs/ > FieldBaseTestCase.o > In file included from ../FieldTypes.h:29, > from ../FieldConvertors.h:25, > from ../Field.h:32, > from FieldBaseTestCase.h:26, > from FieldBaseTestCase.cpp:27: > ../Utility.h:179: error: 'std::strcmp' has not been declared > ../Utility.h:181: error: 'std::strlen' has not been declared > ../Utility.h:184: error: 'std::memcpy' has not been declared > ../Utility.h:185: error: 'std::memset' has not been declared > ../Utility.h:189: error: 'std::strerror' has not been declared > In file included from ../FieldConvertors.h:26, > from ../Field.h:32, > from FieldBaseTestCase.h:26, > from FieldBaseTestCase.cpp:27: > ../Exceptions.h: In member function 'std::string > FIX::SocketException::errorToWhat()': > ../Exceptions.h:253: error: 'strerror' was not declared in this scope > In file included from FieldBaseTestCase.h:26, > from FieldBaseTestCase.cpp:27: > ../Field.h: In member function 'void FIX::FieldBase::calculate() > const': > ../Field.h:110: error: 'memcpy' was not declared in this scope > make[4]: *** [FieldBaseTestCase.lo] Error 1 > make[4]: Leaving directory `/opt/FIXX/quickfix/src/C++/test' > make[3]: *** [all-recursive] Error 1 > make[3]: Leaving directory `/opt/FIXX/quickfix/src/C++' > make[2]: *** [all-recursive] Error 1 > make[2]: Leaving directory `/opt/FIXX/quickfix/src' > make[1]: *** [all-recursive] Error 1 > make[1]: Leaving directory `/opt/FIXX/quickfix' > make: *** [all] Error 2 > > Looks like I might be missing an RPM? > > -George H > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's > challenge > Build the coolest Linux based applications with Moblin SDK & win > great prizes > Grand prize is a trip for two to an Open Source event anywhere in > the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/_______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
From: Tom W <twi...@mq...> - 2008-07-31 13:44:20
|
Anyone ............... ????? Tom W wrote: > > I have been trying to find a solution to this problem, without success. > I've seen several other posts around the internet (mostly from a few years > ago) but have yet to find a tangible solution. > > I am finished with my current FIX session, so I send a logout message (5) > to the FIX server and the logout completes fine. I then want to > stop/close my SocketInitiator and reset it so it can be reused for the > next session. This is the code I have : > > public void onLogout(SessionID sessionID) > { > if (this._socketInitiator != null) > { > this._socketInitiator.stop(true); // HANGS HERE > } > } > > When I then try to start another session using the same SocketInitiator, I > get the exception : > > "Configuration failed: Could not open body file: > Logs\\FIX.4.2-ABC-DEF.body" > > when I try to run this line of code : > > this._socketInitiator = new SocketInitiator(this, this._storeFactory, > this._settings, this._logFactory, this._msgFactory); > > It seems as if the SocketInitiator has not released all its resources > fully, and the .body file is indeed locked when I try to open it in, say, > Notepad. I have seen suggestions to using CVS (I'm not sure exactly what > this is or how to go about doing this) but surely there is a simpler > solution to what must be a fairly common action? I am using FIX 4.2 and > the latest version of QuickFIX from www.quickfixengine.org. > > Any solutions gratefully received! > > Tom > -- View this message in context: http://www.nabble.com/SocketInitiator.stop%28%29-Problem-tp18473551p18754916.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: shaffer.jason <sha...@gm...> - 2008-09-25 17:06:06
|
I've been wondering about this problem for months now, and no one seems to have an answer. Can someone please provide a solution or a work around? -- View this message in context: http://www.nabble.com/SocketInitiator.stop%28%29-Problem-tp18473551p19674063.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: Shrila <om...@ma...> - 2008-10-01 13:31:31
|
shaffer.jason wrote: > > I've been wondering about this problem for months now, and no one seems to > have an answer. Can someone please provide a solution or a work around? > > Hi All. I execute following methods, for logon/logout from all active sessions, try for use: // Logon public synchronized void logon() { if (!initiatorStarted) { try { initiator.start(); initiatorStarted = true; } catch (Exception e) { log.error("Logon failed", e); } }else { Iterator<SessionID> sessionIds = initiator.getSessions().iterator(); while (sessionIds.hasNext()) { SessionID sessionId = (SessionID) sessionIds.next(); Session.lookupSession(sessionId).logon(); } } } // Logout public void logout() { Iterator<SessionID> sessionIds = initiator.getSessions().iterator(); while (sessionIds.hasNext()) { SessionID sessionId = (SessionID) sessionIds.next(); Session.lookupSession(sessionId).logout("user requested"); } } If you will use for one particular session, to change above methods, add SessionID input parameter. -- View this message in context: http://www.nabble.com/SocketInitiator.stop%28%29-Problem-tp18473551p19760522.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: shaffer.jason <sha...@gm...> - 2008-10-01 14:18:21
|
I currently do something very similar. The problem is that when/if you want to completely stop quickfix, meaning close off the port for future communication, logoff does not accomplish this. By simply doing a logoff, the session will still be active and can accept a new connection if it occurs. Shrila wrote: > > > > shaffer.jason wrote: >> >> I've been wondering about this problem for months now, and no one seems >> to have an answer. Can someone please provide a solution or a work >> around? >> >> > > > Hi All. > I execute following methods, for logon/logout from all active sessions, > try for use: > > // Logon > public synchronized void logon() { > if (!initiatorStarted) { > try { > initiator.start(); > initiatorStarted = true; > } catch (Exception e) { > log.error("Logon failed", e); > } > }else { > Iterator<SessionID> sessionIds = > initiator.getSessions().iterator(); > while (sessionIds.hasNext()) { > SessionID sessionId = (SessionID) sessionIds.next(); > Session.lookupSession(sessionId).logon(); > } > } > } > > // Logout > public void logout() { > Iterator<SessionID> sessionIds = > initiator.getSessions().iterator(); > while (sessionIds.hasNext()) { > SessionID sessionId = (SessionID) sessionIds.next(); > Session.lookupSession(sessionId).logout("user requested"); > } > } > > If you will use for one particular session, to change above methods, add > SessionID > input parameter. > -- View this message in context: http://www.nabble.com/SocketInitiator.stop%28%29-Problem-tp18473551p19761529.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: Shrila <om...@ma...> - 2008-10-02 05:14:44
|
Hi shaffer.jason. If You want close quickFIX and release port, possible simply close application (all quickFIX threads). -- View this message in context: http://www.nabble.com/SocketInitiator.stop%28%29-Problem-tp18473551p19773484.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: shaffer.jason <sha...@gm...> - 2008-10-02 13:01:53
|
Shrila, That would work in theory, however it is actually during the shutdown process that I'm having problems. I need to allow a few seconds for the application to shut down. I start the shutdown process by logging off of all sessions. However, it is possible for the client to reestablish the session before the application has actually shut down because quickfix is still active and the port is still open. If I could use the stop function, this would not be a problem. Thanks for your thoughts. Shrila wrote: > > Hi shaffer.jason. > If You want close quickFIX and release port, possible simply close > application (all quickFIX threads). > -- View this message in context: http://www.nabble.com/SocketInitiator.stop%28%29-Problem-tp18473551p19778803.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: horus_the_rabbit <zro...@gm...> - 2010-08-16 22:49:31
|
Thanks! I'll be sure to try that. Explicit GC calls aren't "nice", but right now my only other option was to disable the test that tests login/logout and that's no less of a ugly thing to do in testing. -Horus dc10 wrote: > > Hi Horus, > > I've been struggling with the same problem. In my case it hangs on > initiator.stop() too and looking in the debugger shows that it is hanging > on a thread join in the unmanaged code. > > The only way I've reliably been able to get round this is to logout all > the sessions and then set the initiator variable equal to null and call > GC.Collect()! > > Truly horrendous and I'm not proud but at least I can work around the > issue for now while i look for a better solution. > > Please let me know how you get on > > > horus_the_rabbit wrote: >> >> Hi Jason, >> >> I was wondering if you ever resolved this or if anyone has a fix. I'm >> having the exact same issue and I'm using tests to drive my development >> (TDD) and this is really been annoying me for the past 3 days. >> >> Here's what I do: >> >> public bool logon() { >> try { initiator.start(); } >> catch (ConfigError configError) { >> Console.Write(configError.StackTrace); >> return false; >> } >> return true; >> } >> >> public void logout() { >> initiator.stop(); //HANGS HERE AND STOPS DEBUGGER >> } >> >> When running tests, after my first test succeeds and my second test runs, >> I get this: >> >> Failure invoke test setup method >> QuickFix.ConfigError >> Configuration failed: Could not open body file: >> Logs\FIX.4.2-LCG-FXDD-MKD.body >> Void .ctor(QuickFix.Application, QuickFix.MessageStoreFactory, >> QuickFix.SessionSettings, QuickFix.LogFactory, QuickFix.MessageFactory) >> >> >> Any help would be greatly appreciated, as I don't want to make a mock obj >> for this and would rather see it work properly. >> >> > > -- View this message in context: http://old.nabble.com/SocketInitiator.stop%28%29-Problem-tp18473551p29449201.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: Dominik B. <dom...@gm...> - 2011-01-12 15:43:50
|
I use .NET 4.0 and QuickFix 1.13.3. The SocketInitiator hangs even when calling Dispose(). Does it work for you? For me it only works if I set the initiator to null and call GC.Collect. initiator = null; GC.Collect(); But that's not really an elegant way to do it. Dominik On Wed, Jan 12, 2011 at 3:48 PM, openshac <cha...@gm...> wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > _socketInitiator implements IDisposable. Are you calling > _socketInitiator.Dispose(); ? > > If you don't you may have unmanaged resources (LogFiles) that will not be > cleaned up / released / garbage collected correctly. > > The SocketInitiator.Dispose() method looks like it does this for you if you > call it: > > void Dispose( bool dispose ) > { > if( m_pUnmanaged ) > { > stop( true ); > delete m_pUnmanaged; > m_pUnmanaged = 0; > m_application = 0; > m_factory = 0; > m_logFactory = 0; > } > > if( dispose ) > System::GC::SuppressFinalize( this ); > } > > void Dispose() > { > Dispose( true ); > } > > > horus_the_rabbit wrote: > > > > Thanks! I'll be sure to try that. Explicit GC calls aren't "nice", but > > right now my only other option was to disable the test that tests > > login/logout and that's no less of a ugly thing to do in testing. > > > > -Horus > > > > dc10 wrote: > >> > >> Hi Horus, > >> > >> I've been struggling with the same problem. In my case it hangs on > >> initiator.stop() too and looking in the debugger shows that it is > hanging > >> on a thread join in the unmanaged code. > >> > >> The only way I've reliably been able to get round this is to logout all > >> the sessions and then set the initiator variable equal to null and call > >> GC.Collect()! > >> > >> Truly horrendous and I'm not proud but at least I can work around the > >> issue for now while i look for a better solution. > >> > >> Please let me know how you get on > >> > >> > >> horus_the_rabbit wrote: > >>> > >>> Hi Jason, > >>> > >>> I was wondering if you ever resolved this or if anyone has a fix. I'm > >>> having the exact same issue and I'm using tests to drive my development > >>> (TDD) and this is really been annoying me for the past 3 days. > >>> > >>> Here's what I do: > >>> > >>> public bool logon() { > >>> try { initiator.start(); } > >>> catch (ConfigError configError) { > >>> Console.Write(configError.StackTrace); > >>> return false; > >>> } > >>> return true; > >>> } > >>> > >>> public void logout() { > >>> initiator.stop(); //HANGS HERE AND STOPS DEBUGGER > >>> } > >>> > >>> When running tests, after my first test succeeds and my second test > >>> runs, I get this: > >>> > >>> Failure invoke test setup method > >>> QuickFix.ConfigError > >>> Configuration failed: Could not open body file: > >>> Logs\FIX.4.2-LCG-FXDD-MKD.body > >>> Void .ctor(QuickFix.Application, QuickFix.MessageStoreFactory, > >>> QuickFix.SessionSettings, QuickFix.LogFactory, QuickFix.MessageFactory) > >>> > >>> > >>> Any help would be greatly appreciated, as I don't want to make a mock > >>> obj for this and would rather see it work properly. > >>> > >>> > >> > >> > > > > > > -- > View this message in context: > http://old.nabble.com/SocketInitiator.stop%28%29-Problem-tp18473551p30652443.html > Sent from the QuickFIX - Dev mailing list archive at Nabble.com. > > > > ------------------------------------------------------------------------------ > Protect Your Site and Customers from Malware Attacks > Learn about various malware tactics and how to avoid them. Understand > malware threats, the impact they can have on your business, and how you > can protect your company and customers by using code signing. > http://p.sf.net/sfu/oracle-sfdevnl > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: openshac <cha...@gm...> - 2011-01-13 09:09:15
|
Ah that sucks that you have to do it like that. I'm using .Net 4.0 and QuickFix 1.0.2447, I'll see how if I can find time to play around with another version of QuickFix and see if it still works. Sorry I couldn't have been of more use. Dominik Brack wrote: > > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > I use .NET 4.0 and QuickFix 1.13.3. The SocketInitiator hangs even when > calling Dispose(). Does it work for you? > For me it only works if I set the initiator to null and call GC.Collect. > > initiator = null; > GC.Collect(); > > But that's not really an elegant way to do it. > > Dominik > > On Wed, Jan 12, 2011 at 3:48 PM, openshac <cha...@gm...> > wrote: > >> QuickFIX Documentation: >> http://www.quickfixengine.org/quickfix/doc/html/index.html >> QuickFIX Support: http://www.quickfixengine.org/services.html >> >> >> _socketInitiator implements IDisposable. Are you calling >> _socketInitiator.Dispose(); ? >> >> If you don't you may have unmanaged resources (LogFiles) that will not be >> cleaned up / released / garbage collected correctly. >> >> The SocketInitiator.Dispose() method looks like it does this for you if >> you >> call it: >> >> void Dispose( bool dispose ) >> { >> if( m_pUnmanaged ) >> { >> stop( true ); >> delete m_pUnmanaged; >> m_pUnmanaged = 0; >> m_application = 0; >> m_factory = 0; >> m_logFactory = 0; >> } >> >> if( dispose ) >> System::GC::SuppressFinalize( this ); >> } >> >> void Dispose() >> { >> Dispose( true ); >> } >> >> >> horus_the_rabbit wrote: >> > >> > Thanks! I'll be sure to try that. Explicit GC calls aren't "nice", but >> > right now my only other option was to disable the test that tests >> > login/logout and that's no less of a ugly thing to do in testing. >> > >> > -Horus >> > >> > dc10 wrote: >> >> >> >> Hi Horus, >> >> >> >> I've been struggling with the same problem. In my case it hangs on >> >> initiator.stop() too and looking in the debugger shows that it is >> hanging >> >> on a thread join in the unmanaged code. >> >> >> >> The only way I've reliably been able to get round this is to logout >> all >> >> the sessions and then set the initiator variable equal to null and >> call >> >> GC.Collect()! >> >> >> >> Truly horrendous and I'm not proud but at least I can work around the >> >> issue for now while i look for a better solution. >> >> >> >> Please let me know how you get on >> >> >> >> >> >> horus_the_rabbit wrote: >> >>> >> >>> Hi Jason, >> >>> >> >>> I was wondering if you ever resolved this or if anyone has a fix. I'm >> >>> having the exact same issue and I'm using tests to drive my >> development >> >>> (TDD) and this is really been annoying me for the past 3 days. >> >>> >> >>> Here's what I do: >> >>> >> >>> public bool logon() { >> >>> try { initiator.start(); } >> >>> catch (ConfigError configError) { >> >>> Console.Write(configError.StackTrace); >> >>> return false; >> >>> } >> >>> return true; >> >>> } >> >>> >> >>> public void logout() { >> >>> initiator.stop(); //HANGS HERE AND STOPS DEBUGGER >> >>> } >> >>> >> >>> When running tests, after my first test succeeds and my second test >> >>> runs, I get this: >> >>> >> >>> Failure invoke test setup method >> >>> QuickFix.ConfigError >> >>> Configuration failed: Could not open body file: >> >>> Logs\FIX.4.2-LCG-FXDD-MKD.body >> >>> Void .ctor(QuickFix.Application, QuickFix.MessageStoreFactory, >> >>> QuickFix.SessionSettings, QuickFix.LogFactory, >> QuickFix.MessageFactory) >> >>> >> >>> >> >>> Any help would be greatly appreciated, as I don't want to make a mock >> >>> obj for this and would rather see it work properly. >> >>> >> >>> >> >> >> >> >> > >> > >> >> -- >> View this message in context: >> http://old.nabble.com/SocketInitiator.stop%28%29-Problem-tp18473551p30652443.html >> Sent from the QuickFIX - Dev mailing list archive at Nabble.com. >> >> >> >> ------------------------------------------------------------------------------ >> Protect Your Site and Customers from Malware Attacks >> Learn about various malware tactics and how to avoid them. Understand >> malware threats, the impact they can have on your business, and how you >> can protect your company and customers by using code signing. >> http://p.sf.net/sfu/oracle-sfdevnl >> _______________________________________________ >> Quickfix-developers mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfix-developers >> > > ------------------------------------------------------------------------------ > Protect Your Site and Customers from Malware Attacks > Learn about various malware tactics and how to avoid them. Understand > malware threats, the impact they can have on your business, and how you > can protect your company and customers by using code signing. > http://p.sf.net/sfu/oracle-sfdevnl > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > -- View this message in context: http://old.nabble.com/SocketInitiator.stop%28%29-Problem-tp18473551p30660461.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |