Index: /trunk/zoo-project/zoo-kernel/service_internal.c
===================================================================
--- /trunk/zoo-project/zoo-kernel/service_internal.c	(revision 623)
+++ /trunk/zoo-project/zoo-kernel/service_internal.c	(revision 624)
@@ -190,6 +190,6 @@
 semid getShmLockId(maps* conf, int nsems){
     semid sem_id;
-	char key[MAX_PATH];
-	getKeyValue(conf, key, MAX_PATH);
+    char key[MAX_PATH];
+    getKeyValue(conf, key, MAX_PATH);
     
     sem_id = CreateSemaphore( NULL, nsems, nsems+1, key);
Index: /trunk/zoo-project/zoo-kernel/service_internal_python.c
===================================================================
--- /trunk/zoo-project/zoo-kernel/service_internal_python.c	(revision 623)
+++ /trunk/zoo-project/zoo-kernel/service_internal_python.c	(revision 624)
@@ -551,5 +551,4 @@
     free(cursor->content);
     free(cursor);
-    Py_DECREF(key);
 #ifdef DEBUG
     dumpMaps(res);
@@ -643,14 +642,14 @@
   PyObject* confdict;
   int istatus;
-  char* status;
+  char* status=NULL;
   if (!PyArg_ParseTuple(args, "O!i", &PyDict_Type, &confdict, &istatus)){
 #ifdef DEBUG
     fprintf(stderr,"Incorrect arguments to update status function");
 #endif
-    return NULL;
+    Py_RETURN_NONE;
   }
   if (istatus < 0 || istatus > 100){
      PyErr_SetString(ZooError, "Status must be a percentage.");
-     return NULL;
+     Py_RETURN_NONE;
   }else{
      char tmpStatus[4];
@@ -658,24 +657,13 @@
      status = zStrdup(tmpStatus);
   }
-  /* now update the map */
-  {
-    PyObject* lenv = PyMapping_GetItemString(confdict, (char *)"lenv");
-    if (lenv && PyMapping_Check(lenv)){
-      PyObject* valobj = PyString_FromString(status);
-      PyMapping_SetItemString(lenv, (char *)"status", valobj);
-      Py_DECREF(valobj);
-    }
-    Py_DECREF(lenv);
-  }
+  // create a local copy and update the lenv map
   conf = mapsFromPyDict((PyDictObject*)confdict);
-  if (getMapFromMaps(conf,"lenv","status") != NULL){
-    if(status!=NULL){
-      setMapInMaps(conf,"lenv","status",status);
-      free(status);
-    }
-    else
-      setMapInMaps(conf,"lenv","status","15");
-    _updateStatus(conf);
-  }
+  if(status!=NULL){
+    setMapInMaps(conf,"lenv","status",status);
+    free(status);
+  }
+  else
+    setMapInMaps(conf,"lenv","status","15");
+  _updateStatus(conf);
   freeMaps(&conf);
   free(conf);
Index: /trunk/zoo-project/zoo-services/utils/status/cgi-env/service.py
===================================================================
--- /trunk/zoo-project/zoo-services/utils/status/cgi-env/service.py	(revision 623)
+++ /trunk/zoo-project/zoo-services/utils/status/cgi-env/service.py	(revision 624)
@@ -3,5 +3,5 @@
     i=0
     while i < 100:
-        conf["lenv"]["status"]=str(i)
+        conf["lenv"]["message"]="Step "+str(i)
         zoo.update_status(conf,i)
         time.sleep(0.5)
