nsf.c

Clone Tools
  • last updated 21 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Having a working version, test for leaks

  1. … 1 more file in changeset.
First attempt

- add thread IDs to debug lines

Merge branch 'master' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/nsf

- Remove manually mixinRegObjs during cleanup to silence sanity checking for object refcounts.

- add pthread id to debug message

UnsetTracedVars(): Provide for a two-pass deletion logic during object shutdown, to account for unset traces possibly reviving an object variable under deletion. This corresponds to a recent memleak fix to Tcl itself (see http://core.tcl.tk/tcl/info/4dbdd9af144dbdd9af14).

ObjectCmdMethodDispatch(): Get refcounting on method-path lists right, fixing one actual (valgrind) and another potential Tcl_Obj leak

ParamDefsNames(): Fix another Tcl_Obj leak and optimize code slightly (Tcl_Obj is only allocated once the string-matching operation suceeded)

NsfForwardPrintError(): Fix another instance of the NsfMethodNamePath leak

NsfMethodName(): Avoid unnecessary append operation between lists, previously leaking the source list Tcl_Obj

merge

ArgumentParse(): Addressing a series of Tcl_Obj leaks (valgrind)

- removing dead assignment

TopoSortSub(): Make intended true/false comparisons based on int explicit

TopoSort(): cleanup (pt. 3): re-factored TransitiveSubClasses() and DependentSubClasses() into one caller function of TopoSortSub()

TopoSort(): cleanup (pt. 2): renamed TopoSort() TopoSortSub() (to match TopoSortSuper)

TopoSort(): cleanup (pt. 1)

GetNextArguments(): Address CID 102646

Removed two unused functions: NsfObjInfoObjectparameterMethod() and NsfParamDefsFilter(). Makes CID 88775 obsolete

  1. … 4 more files in changeset.
Merge branch 'master' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/nsf

Address CID 88770

- improve variable for logging from "debugLevel" to "logSeverity" (print logging messages which have a severity larger equal the then given value; so; "nsf::configure debugLevel 0" will print everything, and "nsf::configure debugLevel 3" will print just error messages and omit warnings etc.) - this is not a change in sematics, but removes some confusion in the code. therefore the configure name was not changed - Remove 2 occurrences of deprecated Tcl Call Tcl_AppendResult() in nsfStubLib

  1. … 6 more files in changeset.
Address potential double freeing problem of runtime states: - the ExitHander() should never be called twice on the same interp. Therefore delete in the ExitProc the ExitHandler AND the ThreadExitHandler and in the ThreadExitProc also both.

Merge branch 'master' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/nsf

code generator changes: - create enum types instead of enum values for nsf API - use enum types in code

  1. … 6 more files in changeset.
Improve comment wording and cleanup

  1. … 2 more files in changeset.
Merge branch 'master' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/nsf

  1. … 1 more file in changeset.
Provide for releasing/deleting the hash tables for cmd definitions and enumeration-type converters in ExitHandler

  1. … 3 more files in changeset.
remove various code smells: - add const declarations - prefer boolean tests - don't write "for" loops without a block - don't pass non-initialized value in an array on index [0] - reduce variable scope - prefer single returns statements in functions - dont't use CONST unless defined by Tcl-API

  1. … 9 more files in changeset.