[visit-developers] VisIt and Qt signals
bjw at ilight.com
Tue Jun 16 12:29:21 EDT 2015
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.
On Tue, Jun 16, 2015 at 7:18 AM, sveta <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!
> 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.
>> On Mon, Jun 15, 2015 at 1:53 PM, Sveta <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,
>> On Jun 12, 2015, at 4:52 PM, Brad Whitlock <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.
>>> On Fri, Jun 12, 2015 at 3:30 PM, Sveta <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.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the visit-developers