[ET Trac] [Einstein Toolkit] #1821: Carpet may call object methods with this == NULL

Einstein Toolkit trac-noreply at einsteintoolkit.org
Wed Mar 15 15:37:08 CDT 2017


#1821: Carpet may call object methods with this == NULL
-----------------------+----------------------------------------------------
  Reporter:  rhaas     |       Owner:  eschnett           
      Type:  defect    |      Status:  reopened           
  Priority:  optional  |   Milestone:                     
 Component:  Carpet    |     Version:  development version
Resolution:            |    Keywords:                     
-----------------------+----------------------------------------------------

Comment (by rhaas):

 > (1) I don't think that CarpetLib itself calls this method, so the
 changes to {{{ggf.cc}}} should not be necessary.

 I added a comment to the code diff:
 https://bitbucket.org/eschnett/carpet/pull-requests/7/carpet-avoid-using-
 null-pointer-for-member/diff#comment-33242870

 > (2) In {{{PeriodicCarpet}}}, you could use {{{src}}} instead of
 {{{fake_data_pointer()}}}.
 Could be done. That seems odd though.

 > (3) The initialization of the static variable in {{{fake_data_pointer}}}
 is not thread-safe. This has actually become an issue when using Qthreads
 for parallelization.
 Correct. At the time I reported this CarpetLib was not yet thread safe (ie
 none of the Timers was) so it did not matter. Thread safe would be either
 using new() or the src trick that you suggest or making transfer_from a
 static member function that takes the current dst as eg its first
 argument.

-- 
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1821#comment:7>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit


More information about the Trac mailing list