1. 10 Feb, 2021 1 commit
  2. 03 Feb, 2021 3 commits
  3. 03 Sep, 2020 2 commits
  4. 14 Jul, 2020 3 commits
  5. 09 Jul, 2020 3 commits
  6. 07 Jul, 2020 2 commits
  7. 01 Jul, 2020 2 commits
  8. 29 Jun, 2020 4 commits
    • Miller, Ross's avatar
      Remove cscope.out, create .gitignore · 9899ec85
      Miller, Ross authored
      Remove the cscope.out file and create a .gitignore file in case csope
      creates it again.  Also add entries for build/ and .vscode/ to
    • Miller, Ross's avatar
      Fix spectral_globals_t initialization · 5cd7e62c
      Miller, Ross authored
      The init code for the globals struct only initialized 5 of the 6 fields
      in the struct.
      The bug never actually caused a problem since the 6th field is always
      initialized before it's used.)
    • Miller, Ross's avatar
      Update environment variable names · 0131e468
      Miller, Ross authored
      Changing references to environment variables so they use the same naming
    • Miller, Ross's avatar
      Shorten filenames in log messages · 5579284d
      Miller, Ross authored
      Don't include the full pathname for the file with each log message.
  9. 25 Jun, 2020 2 commits
  10. 21 May, 2020 1 commit
  11. 20 May, 2020 1 commit
  12. 15 May, 2020 2 commits
    • Zimmer, Christopher's avatar
      Merge branch '27-better-control-of-which-files-are-redirected' into 'dev' · b9a74a32
      Zimmer, Christopher authored
      Resolve "Better Control Of Which Files Are Redirected"
      Closes #27
      See merge request !10
    • Miller, Ross's avatar
      Change how file redirection is controlled · 01e900ca
      Miller, Ross authored
      This commit changes the open and close wrapper functions (including
      fopen, open64, etc...) to check for two boolean flags.  The first is a
      global disable flag and the second is a thread local one.  If either is
      true, then the wrapper function falls back to the native
      The global disable is set to true by default and isn't set to false (ie:
      I/O redirection is allowed) until spectral_init() has completed.  The
      thread_local flags are false by default, but set to true inside the
      L4C_* macros.  (We don't want I/O to the log files intercepted and the
      nature of the rolling file writer means a file could be closed or opened
      in response to any given log message.)
      This commit also adds the constructor attribute to the spectral_init()
      function.  Thus, it's called when the library is first loaded and we
      don't have to call it from anywhere else.
  13. 14 May, 2020 1 commit
  14. 07 May, 2020 1 commit
    • Miller, Ross's avatar
      After daemonizing, redirect std file descriptors to /dev/null · 8fccca49
      Miller, Ross authored
      After closing all open files as part of the daemonizing procedure,
      reopen /dev/null 3 times so that stdin, stdout and stderr point
      somewhere.  (Prevents strange problems if someone accidently calls
      printf() somewhere in the code.)
      Note: Decided NOT to use the glibc-provided daemon() function because it
      apparently doesn't actually work correctly.  See the node at the end of
      the man page.
      Fixes issue #25
  15. 04 May, 2020 2 commits
  16. 01 May, 2020 2 commits
  17. 30 Apr, 2020 6 commits
    • Miller, Ross's avatar
      Fix potential infinite loop during init · 0ce914ac
      Miller, Ross authored
      There was a potential infinite loop initializing the logging system: the
      logging system tries to open a file, the open call is intercepted,
      spectral_redirect_open() sees that initialization isn't complete and
      calls spectral_init(), which tries to initialze the logging system...
      We fix this by setting a flag at the start of the init code.
      spectral_redirect_open() checks this flag and immediately returns false
      if it's set.  This prevents spectral_redirect_open() from calling
      spectral_init() recursively.
      Also replaced the first batch of PRINTD calls with L4C_* calls.
    • Miller, Ross's avatar
      Add required #include statements · d7d4032f
      Miller, Ross authored
      spectral_decls.h used a bunch of types without including the necessary
      header files.  We only got away with this as long as every file that
      included spectral_decls.h *FIRST* included spectral.h.
      This commit adds the necessary #include statements to spectral_decls.h
      Fixes issue #22
    • Miller, Ross's avatar
      Minor tweaks to the logging init code · 44504f64
      Miller, Ross authored
      1) If there's an error on init, print it to stderr instead of stdout
      2) Comment out the code that dumps log4c's internal state.
      3) Replace the success message printed to stdout with a debug-level
      message written to the log.
    • Miller, Ross's avatar
      Fix up logging macros · d4eba119
      Miller, Ross authored
      Tweak the logging macros (L4C_ERR, etc...) to properly handle to case of
      0 variadic arguments.
    • Miller, Ross's avatar
      Fix line endings for strider.c · 2026228e
      Miller, Ross authored
      Somehow, strider.c got created with DOS line endings (ie: <CR><LF>
      instead of just <LF>).  Fixed this.
      Note the diff shows every line changed (which it has).  It's all
      whitespace, though.  No actual code changes.
    • Miller, Ross's avatar
      Add non-MPI version of strider · a1ced39a
      Miller, Ross authored
      Added some #ifdef's to strider.c and an stanza to CMakeLists.txt and the
      result is two versions of strider: one that uses MPI and one that is
      single-process only.
      Note that the 'strider' executable is now the NON-MPI version!
  18. 29 Apr, 2020 2 commits
    • Miller, Ross's avatar
      Init the logging system for the preload library · bd9733cb
      Miller, Ross authored
      The init code for the preload libary now initializes the logging system.
      Finalizing the logging system is handled via a destructor function.
    • Miller, Ross's avatar
      More updates to the logging setup · dc777202
      Miller, Ross authored
      1) Include the PID in the logfile name (mostly for cases where MPI jobs
      have more than one rank running on the node)
      2) Check an environment variable (SPECTRAL_LOG_LEVEL) for the level of
      verbosity we want.