You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Joseph Wu (JIRA)" <ji...@apache.org> on 2015/11/10 22:55:11 UTC
[jira] [Created] (MESOS-3882) Libprocess: Implement
process::Clock::finalize
Joseph Wu created MESOS-3882:
--------------------------------
Summary: Libprocess: Implement process::Clock::finalize
Key: MESOS-3882
URL: https://issues.apache.org/jira/browse/MESOS-3882
Project: Mesos
Issue Type: Task
Components: libprocess, test
Reporter: Joseph Wu
Assignee: Joseph Wu
Tracks this [TODO|https://github.com/apache/mesos/blob/aa0cd7ed4edf1184cbc592b5caa2429a8373e813/3rdparty/libprocess/src/process.cpp#L974-L975].
The {{Clock}} is initialized with a callback that, among other things, will dereference the global {{process_manager}} object.
When libprocess is shutting down, the {{process_manager}} is cleaned up. Between cleanup and termination of libprocess, there is some chance that a {{Timer}} will time out and result in dereferencing {{process_manager}}.
*Proposal*
* Implement {{Clock::finalize}}. This would clear:
** existing timers
** process-specific clocks
** ticks
* Change {{process::finalize}}.
*# Resume the clock. (The clock is only paused during some tests.) When the clock is not paused, the callback does not dereference {{process_manager}}.
*# Clean up {{process_manager}}. This terminates all the processes that would potentially interact with {{Clock}}.
*# Call {{Clock::finalize}}.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)