[visit-developers] VisIt and Qt signals

Sveta sveta at txcorp.com
Thu Jun 18 12:47:09 EDT 2015


Hi Brad,
I merged your trunk changes into our branch (all logic with signal) and 
we still have the same problem.  Debugging now and will report as soon 
as I get some clarity.
Thank you,
Sveta

On 6/16/15 2:39 PM, Brad Whitlock wrote:
> Hi Sveta,
>      I made a change to RemoteProcess on the trunk that reinstalls the
> old handler for SIGCHLD, if one exists.
>
> Brad
>
>
>
>
> On Tue, Jun 16, 2015 at 12:58 PM, Sveta <sveta at txcorp.com
> <mailto:sveta at txcorp.com>> wrote:
>
>     Hi Brad,
>     Not sure what you mean by reinstalling the old signal handler...  I
>     see one more type of the signal call:  signal(SIGCHLD,
>     DeadChildHandler). Should I use DeadChildHandler instead
>     catch_dead_child and call it in Open after LaunchRemote?
>
>     Thanks,
>     Sveta
>
>     On 6/16/15 10:29 AM, Brad Whitlock wrote:
>
>         Okay, it seems like the next step would be for RemoteProcess to
>         reinstall the old signal handler after it has launched the remote
>         process. That would probably clear up launching the vis and
>         getting the
>         finished signal.
>
>         Brad
>
>         On Tue, Jun 16, 2015 at 7:18 AM, sveta <sveta at txcorp.com
>         <mailto:sveta at txcorp.com>
>         <mailto:sveta at txcorp.com <mailto:sveta at txcorp.com>>> wrote:
>
>              Very interesting.  I commented out all signal() there and
>         now the
>              viz does not open at all, but the "finished" signal gets
>         delivered.
>              I will report more later.  Thank you, Brad!
>              Sveta
>
>              On 6/15/15 3:19 PM, Brad Whitlock wrote:
>
>                  Hi Sveta,
>                       DelayedMethods are queued up for later execution
>         while the
>                  Methods
>                  object applies immediately. Calling DelayedMethods is
>         useful
>                  when you
>                  want to queue up some work from a Qt slot that would
>         take a long
>                  time to
>                  execute and would be best done from the main event
>         loop. Both
>                  ways will
>                  get to the OpenDatabase action which will start the
>         mdserver and
>                  engine
>                  via the RemoteProcess class I mentioned last time. I
>         would try
>                  commenting out the calls to signal() in RemoteProcess
>         to see if that
>                  class is the culprit.
>
>                  Brad
>
>
>                  On Mon, Jun 15, 2015 at 1:53 PM, Sveta
>         <sveta at txcorp.com <mailto:sveta at txcorp.com>
>                  <mailto:sveta at txcorp.com <mailto:sveta at txcorp.com>>
>                  <mailto:sveta at txcorp.com <mailto:sveta at txcorp.com>
>         <mailto:sveta at txcorp.com <mailto:sveta at txcorp.com>>>> wrote:
>
>                       Hi Brad,
>                       I investigated and the problem occurs when we call
>                       VisItViewer::DelayedMethods::OpenDatabase...
>           What is the main
>                       difference between DelayedMethods and Methods?
>                       Thank you,
>
>                       iSveta
>
>                       On Jun 12, 2015, at 4:52 PM, Brad Whitlock
>         <bjw at ilight.com <mailto:bjw at ilight.com>
>                  <mailto:bjw at ilight.com <mailto:bjw at ilight.com>>
>                       <mailto:bjw at ilight.com <mailto:bjw at ilight.com>
>         <mailto:bjw at ilight.com <mailto:bjw at ilight.com>>>> wrote:
>
>                           Hi Sveta,
>                              VisIt's src/common/comm/RemoteProcess class
>         installs
>                      a signal
>                           handler for SIGCHLD that lets it detect when child
>                      processes die.
>                           This is so it can detect when VisIt programs
>         die on
>                      startup. It
>                           looks like it does not restore any previously
>         existing
>                      signal
>                           handler. Maybe this is interfering with Qt's
>         "finished"
>                      mechanism.
>
>                           HTH,
>                           Brad
>
>
>                           On Fri, Jun 12, 2015 at 3:30 PM, Sveta
>                      <sveta at txcorp.com <mailto:sveta at txcorp.com>
>         <mailto:sveta at txcorp.com <mailto:sveta at txcorp.com>>
>                           <mailto:sveta at txcorp.com
>         <mailto:sveta at txcorp.com> <mailto:sveta at txcorp.com
>         <mailto:sveta at txcorp.com>>>> wrote:
>
>                               Hi everybody,
>
>                               We have been having a strange problem.  We
>         have Qt
>                      process(es)
>                               started by our application and we connect
>         to it signal
>                               "finished."  All signals emit and all
>         works before
>                      we load
>                               files into VisIt.  Once we do this, the
>         processes
>                      do not emit
>                               "finished" (looks like).  Any ideas,
>         suggestions
>                      and opinions
>                               are appreciated.
>
>                               Best,
>                               Sveta
>
>
>
>
>


More information about the visit-developers mailing list