{{Quickfixn}} Force close quickfixn

Christian Jungers christian.jungers at cm3.com
Tue Sep 11 04:00:56 PDT 2012


My change has been put on my fork and a pull request was sent in. I wasn't
sure how best to unit test for this (and didn't have the time yesterday to
think it through) ... but hopefully that will help anyone interested.
(Jungers42)
*
*
*
*
*
*
*Christian.Jungers at CM3.com - Chief Technology Officer** - Tel
877.263.1669 x705
- Fax 877.263.1669*



On Tue, Sep 11, 2012 at 2:27 AM, Ruaan Viljoen <ruaanv at estuarys.co.za>wrote:

> I would also be very interested in this, as I think there have been a lot
> of community workarounds to get that initiator thread to shutdown properly.
> Rather than going around and doing another unpublished workaround, we****
>
> could work towards a long overdue fix at the core of the problem?****
>
> ** **
>
> -Ruaan****
>
> ** **
>
> *From:* quickfixn-bounces at lists.quickfixn.com [mailto:
> quickfixn-bounces at lists.quickfixn.com] *On Behalf Of *Grant Birchmeier
> *Sent:* 10 September 2012 06:08 PM
>
> *To:* Mailing list for QuickFIX/n
> *Subject:* Re: {{Quickfixn}} Force close quickfixn****
>
> ** **
>
> I think it should probably be built into the stop method as well.****
>
> ** **
>
> I would love to see the code for your Dispose method.****
>
> ** **
>
> ** **
>
> On Mon, Sep 10, 2012 at 11:02 AM, <Christian.Jungers at sungard.com> wrote:**
> **
>
> I haven’t gone digging into the history of conversations about Stop(…) …
> but I do have something to add.****
>
>  ****
>
> Recently, for our FIX service based on QuickFixN, we were working on the
> ability to remotely control the service to spin up and spin down on-demand.
> What we found was that it was simple enough to do, but we could not get a
> new initiator from QuickFixN when it spun back up. The reason was because
> the old thread was holding onto handles to files that weren’t being
> properly disposed of.****
>
>  ****
>
> So I push IDisposable around a bit in the code. Rather than build that
> into the Stop method (which I feel is the natural place for it / intent of
> it), I built an additional method called Dispose which does the work. That
> way you can choose if you want to actually properly dispose of things or
> not. I’m happy to share the changes and then perhaps others with more
> history on the project could consider how best to make sure the system
> properly disposes of handles and threads and such?****
>
>  ****
>
>                                 - Christian****
>
>  ****
>
>  ****
>
> *From:* quickfixn-bounces at lists.quickfixn.com [mailto:
> quickfixn-bounces at lists.quickfixn.com] *On Behalf Of *Ruaan Viljoen
> *Sent:* Monday, September 10, 2012 10:52 AM****
>
>
> *To:* Mailing list for QuickFIX/n
> *Subject:* Re: {{Quickfixn}} Force close quickfixn****
>
>  ****
>
> I have been poking around in the Quickfix source to try and see what the
> issue is with the initiator.Stop(true) not actually logging out or ending
> the thread.****
>
> I found something that I don’t quite understand:****
>
>  ****
>
> In AbstractInitiator.cs****
>
>  ****
>
> public void Stop(bool force)****
>
> {****
>
> …****
>
> isStopped_ = true;****
>
>                 OnStop();****
>
>                 thread_.Join(5000);****
>
>                 thread_ = null;****
>
>  ****
>
>                 foreach (Session session in enabledSessions)****
>
>                                 session.Logon();****
>
> }****
>
>  ****
>
> What is this ‘session.Logon();’ doing in here?****
>
>  ****
>
> Also regarding the issue that sessions are not logging out on Stop(true):*
> ***
>
>                 public void Logout()****
>
>                 {****
>
>                                                 Logout("");****
>
>                 }****
>
>  ****
>
>                 public void Logout(string reason)****
>
>                 {****
>
>                                                 state_.IsEnabled = false;*
> ***
>
>                                                 state_.LogoutReason =
> reason;****
>
>                 }****
>
> I don’t quite see where the actual logout is being sent. Could this be one
> of the issues. I realize this might be asking you guys to get more involved
> that you have time for right now, but perhaps someone else can help shed
> some light. ****
>
>  ****
>
> Thanks****
>
> Ruaan****
>
> *From:* quickfixn-bounces at lists.quickfixn.com
> [mailto:quickfixn-bounces at lists.quickfixn.com] *On Behalf Of *Grant
> Birchmeier
> *Sent:* 07 September 2012 04:14 PM
> *To:* Mailing list for QuickFIX/n
> *Subject:* Re: {{Quickfixn}} Force close quickfixn****
>
>  ****
>
> This is open issue 45.  (48 is also related.)****
>
> https://github.com/connamara/quickfixn/issues****
>
>  ****
>
>  ****
>
> On Fri, Sep 7, 2012 at 2:49 AM, Ruaan Viljoen <ruaanv at estuarys.co.za>
> wrote:****
>
> Hi,****
>
>  ****
>
> I remember some issue with the initiator.stop(true) a while ago, has these
> issues been resolved?****
>
>  ****
>
> I am calling intitiator.stop(true), but the thread is still staying alive
> it seems, and needs to be closed by end-tasking it. I am going to download
> the full quickfix/n from the repo now and see what exactly is causing this.
> ****
>
>  ****
>
> However I thought I would ask, maybe someone has a simple explanation?****
>
>  ****
>
> Groete****
>
> Regards****
>
>  ****
>
> *Ruaan Viljoen*****
>
>
> _______________________________________________
> Quickfixn mailing list
> Quickfixn at lists.quickfixn.com
> http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com****
>
>
>
>
> -- ****
>
> Grant Birchmeier****
>
> *Connamara Systems, LLC*****
>
> *Made-To-Measure Trading Solutions.*****
>
> Exactly what you need. No more. No less.****
>
> http://connamara.com****
>
>  ****
>
>
> _______________________________________________
> Quickfixn mailing list
> Quickfixn at lists.quickfixn.com
> http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com****
>
>
>
>
> -- ****
>
> Grant Birchmeier****
>
> *Connamara Systems, LLC*****
>
> *Made-To-Measure Trading Solutions.*****
>
> Exactly what you need. No more. No less.****
>
> http://connamara.com****
>
> ** **
>
> _______________________________________________
> Quickfixn mailing list
> Quickfixn at lists.quickfixn.com
> http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quickfixn.com/pipermail/quickfixn-quickfixn.com/attachments/20120911/713c353c/attachment-0002.htm>


More information about the Quickfixn mailing list