Bug 3386

Summary: Ace_Service_Config::parse_args_i call not occuring
Product: ACE Reporter: Jack Lavender <jack.lavender>
Component: ACE CoreAssignee: Phil Mesnier <mesnierp>
Status: RESOLVED FIXED    
Severity: major CC: cleeland_c, mesnierp
Priority: P3    
Version: 5.6.4   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 3335    
Attachments: Origional bug report email
provisional fix for this bug

Description Jack Lavender 2008-08-04 09:56:33 CDT
Created attachment 997 [details]
Origional bug report email

My program has used the -b obtion in the svc.conf file to daemonize as of
5.6.4.  Tracing with gdb shows  the  Ace_Service_Config::parse_args_i method is not being called.

As of 5.6.4 the ACE_Service_Gestalt is no longer the parent of the ACE_Service_Object. This would seem to imply that the parse_arg method should not try to up call. I have experimented with fixing it for my use, but I am not sure I understand the full intent of the new relationship structure between the Gestalt and the Service Object. 


Attached is the my bug report
Comment 1 James Hill 2008-08-04 10:20:48 CDT
Changed the product for the bug
Comment 2 James Hill 2008-08-04 10:21:54 CDT
Reassigned the bug since its not a CUTS bug, as originally specified.
Comment 3 Johnny Willemsen 2008-08-07 13:18:54 CDT
added blocks
Comment 4 Johnny Willemsen 2008-08-20 07:46:10 CDT
Iliyan, can you have a look at this one, seems the last issue related to the sg/sc refactoring
Comment 5 Phil Mesnier 2008-10-16 14:15:27 CDT
I'm taking this over for Iliyan
Comment 6 Phil Mesnier 2008-10-16 14:21:17 CDT
accepting assignment
Comment 7 Phil Mesnier 2008-10-16 14:21:53 CDT
Created attachment 1019 [details]
provisional fix for this bug
Comment 8 Johnny Willemsen 2009-10-20 07:04:32 CDT
Phil, any reason why this didn't got integrated?
Comment 9 Chris Cleeland 2011-03-16 11:20:02 CDT
Did this provisional fix ever get integrated?
Comment 10 Phil Mesnier 2011-03-16 11:29:40 CDT
It was committed. Here's the changelog entry:

Thu Oct 16 19:03:02 UTC 2008  Phil Mesnier  <mesnier_p@ociweb.com>

        * ace/Service_Config.inl:
        * ace/Service_Config.cpp:

          Fix for Bug #3386. The argument parsing for the service
          configurator was separated into those that affect individual
          gestalts, and some process wide arguments. The process wide
          arguments were then placed in a new SC::parse_args_i() method,
          but that was never called. Second, it appears that when
          parse_args_i() was created it was anticipating calling the
          associated gestalt's parse_args_i() but I believe that is not
          correct, as the gestalt's open() gets a copy of the arguments
          for parsing anyway. The service configurator's open() has a
          guard against being evaluated more than once, so there should be
          no side effects of calling the SC::parse_args_i() more than
          once.

          Thanks to Jack Lavender for reporting this problem.

        * examples/Service_Configurator/Misc/main.cpp:

          Modified this test so that command line arguments passed in to
          main() are all added to the list supplied to
          service_config::open().

        * THANKS:
          Updating contributors list.