octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #49515] Octave aborts on exit under some condi


From: Mike Miller
Subject: [Octave-bug-tracker] [bug #49515] Octave aborts on exit under some conditions with --eval CODE
Date: Wed, 2 Nov 2016 22:55:02 +0000 (UTC)
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0

Follow-up Comment #10, bug #49515 (project octave):

I don't think your description matches the reality of the octave::interpreter
class and the clean_up_and_exit method.

You are suggesting that the sleep is kind of like a select() or a semaphore,
wait here until some other thread says it's ok to continue execution. I don't
think that is correct at all.

The parameter to the clean_up_and_exit function is called safe_to_return
(which I understand as "safe to return *at all*"). The comment before the
sleep seems to confirm that the point of the sleep is that the function blocks
at this point forever until the process exits completely.

Note that there are quite a few places where clean_up_and_exit is called
inside the interpreter class, and I think that all of them are essentially
supposed to be treated as dead end paths that will never return control.

In fact, if the GUI is *not* running, the clean_up_and_exit function just
calls the C exit() function instead of sending a signal over the octave_link
and sleeping. So to me it seems deliberate that the function is supposed to
block indefinitely until the process exits completely.

If I am wrong, then please show me where the GUI main thread is intentionally
waking up the interpreter thread and what the unwinding of the interpreter
thread's stack at that point is supposed to look like.

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?49515>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]