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 |
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;
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++) {
| > > > > | 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 |
int tcl_ret;
APPFS_DEBUG("Enter: hostname = %s", hostname);
interp = pthread_getspecific(interpKey);
if (interp == NULL) {
interp = appfs_create_TclInterp(globalThread.cachedir);
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));
| > > > > | 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 |
Tcl_Interp *interp;
char *retval;
int tcl_ret;
interp = pthread_getspecific(interpKey);
if (interp == NULL) {
interp = appfs_create_TclInterp(globalThread.cachedir);
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));
| > > > > | 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 |
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);
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));
| > > > > | 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));
|
| ︙ | ︙ |