Overview
Comment: | Updated to not crash upon Tcl initialization failure |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
85c5ea84466edf5083ed213bbd0c1322 |
User & Date: | rkeene on 2014-11-03 19:07:34 |
Other Links: | manifest | tags |
Context
2014-11-03
| ||
22:31 | Updated to rely upon "sha1" package to compute hashes check-in: 6bae3dde7d user: rkeene tags: trunk | |
19:07 | Updated to not crash upon Tcl initialization failure check-in: 85c5ea8446 user: rkeene tags: trunk | |
2014-10-28
| ||
19:08 | Updated to allow individual flags to be replaced check-in: ca67f3d740 user: rkeene tags: trunk | |
Changes
Modified appfsd.c from [5ba05dc7d6] to [e3ba0e89d2].
︙ | |||
126 127 128 129 130 131 132 133 134 135 136 137 138 139 | 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 | + + + + | static int appfs_Tcl_Eval(Tcl_Interp *interp, int objc, const char *cmd, ...) { Tcl_Obj **objv; const char *arg; va_list argp; int retval; int i; if (interp == NULL) { return(TCL_ERROR); } objv = (void *) ckalloc(sizeof(*objv) * objc); objv[0] = Tcl_NewStringObj(cmd, -1); Tcl_IncrRefCount(objv[0]); va_start(argp, cmd); for (i = 1; i < objc; i++) { |
︙ | |||
163 164 165 166 167 168 169 170 171 172 173 174 175 176 | 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 | + + + + | int tcl_ret; APPFS_DEBUG("Enter: hostname = %s", hostname); interp = pthread_getspecific(interpKey); if (interp == NULL) { interp = appfs_create_TclInterp(globalThread.cachedir); if (interp == NULL) { return; } pthread_setspecific(interpKey, interp); } tcl_ret = appfs_Tcl_Eval(interp, 2, "::appfs::getindex", hostname); if (tcl_ret != TCL_OK) { APPFS_DEBUG("Call to ::appfs::getindex failed: %s", Tcl_GetStringResult(interp)); |
︙ | |||
185 186 187 188 189 190 191 192 193 194 195 196 197 198 | 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 | + + + + | Tcl_Interp *interp; char *retval; int tcl_ret; interp = pthread_getspecific(interpKey); if (interp == NULL) { interp = appfs_create_TclInterp(globalThread.cachedir); if (interp == NULL) { return(NULL); } pthread_setspecific(interpKey, interp); } tcl_ret = appfs_Tcl_Eval(interp, 3, "::appfs::download", hostname, sha1); if (tcl_ret != TCL_OK) { APPFS_DEBUG("Call to ::appfs::download failed: %s", Tcl_GetStringResult(interp)); |
︙ | |||
208 209 210 211 212 213 214 215 216 217 218 219 220 221 | 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 | + + + + | static void appfs_update_manifest(const char *hostname, const char *sha1) { Tcl_Interp *interp; int tcl_ret; interp = pthread_getspecific(interpKey); if (interp == NULL) { interp = appfs_create_TclInterp(globalThread.cachedir); if (interp == NULL) { return; } pthread_setspecific(interpKey, interp); } tcl_ret = appfs_Tcl_Eval(interp, 3, "::appfs::getpkgmanifest", hostname, sha1); if (tcl_ret != TCL_OK) { APPFS_DEBUG("Call to ::appfs::getpkgmanifest failed: %s", Tcl_GetStringResult(interp)); |
︙ |