Allow service requests without callback as long as request won't be forwarded to...
authorJustin Sobota <jsobota@ti.com>
Tue, 19 Feb 2013 22:31:26 +0000 (17:31 -0500)
committerJustin Sobota <jsobota@ti.com>
Tue, 19 Feb 2013 22:31:26 +0000 (17:31 -0500)
device/k2h/global-resource-list.dtb [new file with mode: 0644]
device/k2h/global-resource-list.dts [new file with mode: 0644]
device/k2k/global-resource-list.dtb [new file with mode: 0644]
device/k2k/global-resource-list.dts [new file with mode: 0644]
src/rm.c
src/rm_services.c
test/rm_test.c

diff --git a/device/k2h/global-resource-list.dtb b/device/k2h/global-resource-list.dtb
new file mode 100644 (file)
index 0000000..4dc93ee
Binary files /dev/null and b/device/k2h/global-resource-list.dtb differ
diff --git a/device/k2h/global-resource-list.dts b/device/k2h/global-resource-list.dts
new file mode 100644 (file)
index 0000000..b31b05d
--- /dev/null
@@ -0,0 +1,168 @@
+/dts-v1/;
+
+/ {
+    /* Device resource definitions based on current supported QMSS, CPPI, and 
+     * PA LLD resources */
+       
+    qmss {
+        linkram-control {
+               resource-range = <0 1>;
+        };
+        linkram {
+            resource-range = <0x00000000 0xFFFFFFFF>;
+        };
+        memory-regions {
+                       resource-range = <0 64>;
+        };
+        firmware-pdsp {
+            resource-range = <0 8>;
+        };
+        queues {
+            resource-range = <0 16384>;
+        };
+        accumulator-ch {
+            resource-range = <0 48>;          
+        };
+        qos-timer {
+                       resource-range = <0 1>;
+        };
+        qos-cluster {
+            resource-range = <0 8>;
+        };
+        qos-queue {
+                       resource-range = <0 64>;
+        };              
+    }; /* qmss */
+
+    cppi {
+        srio-rx-ch {
+               resource-range = <0 16>;
+        };
+        srio-tx-ch {
+               resource-range = <0 16>;
+        };
+        srio-rx-flow-id {
+               resource-range = <0 20>;
+        };   
+
+        aif-rx-ch {
+               resource-range = <0 129>;
+        };
+        aif-tx-ch {
+               resource-range = <0 129>;
+        };
+        aif-rx-flow-id {
+               resource-range = <0 129>;
+        };      
+
+        fftc-a-rx-ch {
+               resource-range = <0 4>;
+        };
+        fftc-a-tx-ch {
+               resource-range = <0 4>;
+        };
+        fftc-a-rx-flow-id {
+               resource-range = <0 8>;
+        };   
+
+        fftc-b-rx-ch {
+               resource-range = <0 4>;
+        };
+        fftc-b-tx-ch {
+               resource-range = <0 4>;
+        };
+        fftc-b-rx-flow-id {
+               resource-range = <0 8>;
+        };   
+
+        fftc-c-rx-ch {
+               resource-range = <0 4>;
+        };
+        fftc-c-tx-ch {
+               resource-range = <0 4>;
+        };
+        fftc-c-rx-flow-id {
+               resource-range = <0 8>;
+        };
+
+        fftc-d-rx-ch {
+               resource-range = <0 4>;
+        };
+        fftc-d-tx-ch {
+               resource-range = <0 4>;
+        };
+        fftc-d-rx-flow-id {
+               resource-range = <0 8>;
+        };   
+
+        fftc-e-rx-ch {
+               resource-range = <0 4>;
+        };
+        fftc-e-tx-ch {
+               resource-range = <0 4>;
+        };
+        fftc-e-rx-flow-id {
+               resource-range = <0 8>;
+        };
+
+        fftc-f-rx-ch {
+               resource-range = <0 4>;
+        };
+        fftc-f-tx-ch {
+               resource-range = <0 4>;
+        };
+        fftc-f-rx-flow-id {
+               resource-range = <0 8>;
+        };         
+        
+        pass-rx-ch {
+               resource-range = <0 24>;
+        };
+        pass-tx-ch {
+               resource-range = <0 9>;
+        };
+        pass-rx-flow-id {
+               resource-range = <0 32>;
+        };   
+
+        qmss-qm1-rx-ch {
+               resource-range = <0 32>;
+        };
+        qmss-qm1-tx-ch {
+               resource-range = <0 32>;
+        };
+        qmss-qm1-rx-flow-id {
+               resource-range = <0 64>;
+        };   
+
+        qmss-qm2-rx-ch {
+               resource-range = <0 32>;
+        };
+        qmss-qm2-tx-ch {
+               resource-range = <0 32>;
+        };
+        qmss-qm2-rx-flow-id {
+               resource-range = <0 64>;
+        };        
+
+        bcp-rx-ch {
+               resource-range = <0 8>;
+        };
+        bcp-tx-ch {
+               resource-range = <0 8>;
+        };
+        bcp-rx-flow-id {
+               resource-range = <0 64>;
+        };           
+    }; /* cppi */
+
+    pa {
+        pa-lut { 
+            resource-range = <0 5>;
+        };
+        pa-firmware {
+            resource-range = <0 1>;
+        };
+    }; /* pa */
+    
+};
diff --git a/device/k2k/global-resource-list.dtb b/device/k2k/global-resource-list.dtb
new file mode 100644 (file)
index 0000000..4dc93ee
Binary files /dev/null and b/device/k2k/global-resource-list.dtb differ
diff --git a/device/k2k/global-resource-list.dts b/device/k2k/global-resource-list.dts
new file mode 100644 (file)
index 0000000..b31b05d
--- /dev/null
@@ -0,0 +1,168 @@
+/dts-v1/;
+
+/ {
+    /* Device resource definitions based on current supported QMSS, CPPI, and 
+     * PA LLD resources */
+       
+    qmss {
+        linkram-control {
+               resource-range = <0 1>;
+        };
+        linkram {
+            resource-range = <0x00000000 0xFFFFFFFF>;
+        };
+        memory-regions {
+                       resource-range = <0 64>;
+        };
+        firmware-pdsp {
+            resource-range = <0 8>;
+        };
+        queues {
+            resource-range = <0 16384>;
+        };
+        accumulator-ch {
+            resource-range = <0 48>;          
+        };
+        qos-timer {
+                       resource-range = <0 1>;
+        };
+        qos-cluster {
+            resource-range = <0 8>;
+        };
+        qos-queue {
+                       resource-range = <0 64>;
+        };              
+    }; /* qmss */
+
+    cppi {
+        srio-rx-ch {
+               resource-range = <0 16>;
+        };
+        srio-tx-ch {
+               resource-range = <0 16>;
+        };
+        srio-rx-flow-id {
+               resource-range = <0 20>;
+        };   
+
+        aif-rx-ch {
+               resource-range = <0 129>;
+        };
+        aif-tx-ch {
+               resource-range = <0 129>;
+        };
+        aif-rx-flow-id {
+               resource-range = <0 129>;
+        };      
+
+        fftc-a-rx-ch {
+               resource-range = <0 4>;
+        };
+        fftc-a-tx-ch {
+               resource-range = <0 4>;
+        };
+        fftc-a-rx-flow-id {
+               resource-range = <0 8>;
+        };   
+
+        fftc-b-rx-ch {
+               resource-range = <0 4>;
+        };
+        fftc-b-tx-ch {
+               resource-range = <0 4>;
+        };
+        fftc-b-rx-flow-id {
+               resource-range = <0 8>;
+        };   
+
+        fftc-c-rx-ch {
+               resource-range = <0 4>;
+        };
+        fftc-c-tx-ch {
+               resource-range = <0 4>;
+        };
+        fftc-c-rx-flow-id {
+               resource-range = <0 8>;
+        };
+
+        fftc-d-rx-ch {
+               resource-range = <0 4>;
+        };
+        fftc-d-tx-ch {
+               resource-range = <0 4>;
+        };
+        fftc-d-rx-flow-id {
+               resource-range = <0 8>;
+        };   
+
+        fftc-e-rx-ch {
+               resource-range = <0 4>;
+        };
+        fftc-e-tx-ch {
+               resource-range = <0 4>;
+        };
+        fftc-e-rx-flow-id {
+               resource-range = <0 8>;
+        };
+
+        fftc-f-rx-ch {
+               resource-range = <0 4>;
+        };
+        fftc-f-tx-ch {
+               resource-range = <0 4>;
+        };
+        fftc-f-rx-flow-id {
+               resource-range = <0 8>;
+        };         
+        
+        pass-rx-ch {
+               resource-range = <0 24>;
+        };
+        pass-tx-ch {
+               resource-range = <0 9>;
+        };
+        pass-rx-flow-id {
+               resource-range = <0 32>;
+        };   
+
+        qmss-qm1-rx-ch {
+               resource-range = <0 32>;
+        };
+        qmss-qm1-tx-ch {
+               resource-range = <0 32>;
+        };
+        qmss-qm1-rx-flow-id {
+               resource-range = <0 64>;
+        };   
+
+        qmss-qm2-rx-ch {
+               resource-range = <0 32>;
+        };
+        qmss-qm2-tx-ch {
+               resource-range = <0 32>;
+        };
+        qmss-qm2-rx-flow-id {
+               resource-range = <0 64>;
+        };        
+
+        bcp-rx-ch {
+               resource-range = <0 8>;
+        };
+        bcp-tx-ch {
+               resource-range = <0 8>;
+        };
+        bcp-rx-flow-id {
+               resource-range = <0 64>;
+        };           
+    }; /* cppi */
+
+    pa {
+        pa-lut { 
+            resource-range = <0 5>;
+        };
+        pa-firmware {
+            resource-range = <0 1>;
+        };
+    }; /* pa */
+    
+};
index b846210264c2c99ccabafa688029c94f3ed0374e..a23fd5c18e9875ef1c81c9596c4de478f1b4e6e1 100644 (file)
--- a/src/rm.c
+++ b/src/rm.c
@@ -299,46 +299,53 @@ static void transactionForwarder (Rm_Inst *rmInst, Rm_Transaction *transaction)
     Rm_Packet       *rmPkt = NULL;    
     Rm_PacketHandle  pktHandle = NULL;
 
-    if (rmInst->instType == Rm_instType_CLIENT) {
-        dstTransport = rmTransportFindRemoteInstType(rmInst->transports, Rm_instType_CLIENT_DELEGATE);
-
-        if (!dstTransport) {
+    /* Forward request if callback function has been plugged (request came from service handle)
+     * or remoteOriginatingId is populated (request came from another instance over transport) */
+    if (transaction->callback.serviceCallback || transaction->remoteOriginatingId) {
+        if (rmInst->instType == Rm_instType_CLIENT) {
+            dstTransport = rmTransportFindRemoteInstType(rmInst->transports, Rm_instType_CLIENT_DELEGATE);
+
+            if (!dstTransport) {
+                dstTransport = rmTransportFindRemoteInstType(rmInst->transports, Rm_instType_SERVER);
+            }
+        } 
+        else if (rmInst->instType == Rm_instType_CLIENT_DELEGATE) {
             dstTransport = rmTransportFindRemoteInstType(rmInst->transports, Rm_instType_SERVER);
         }
-    } 
-    else if (rmInst->instType == Rm_instType_CLIENT_DELEGATE) {
-        dstTransport = rmTransportFindRemoteInstType(rmInst->transports, Rm_instType_SERVER);
-    }
 
-    /* Just queue transaction if transport hasn't been registered.  Do not return error */
-    if (dstTransport) {            
-        rmPkt = dstTransport->callouts.rmAllocPkt(dstTransport->appTransportHandle, 
-                                                  sizeof(Rm_Packet), &pktHandle);
-        if (!rmPkt || !pktHandle) {
-            transaction->state = RM_ERROR_TRANSPORT_ALLOC_PKT_ERROR;
-            goto errorExit;
-        }
+        /* Just queue transaction if transport hasn't been registered.  Do not return error */
+        if (dstTransport) {            
+            rmPkt = dstTransport->callouts.rmAllocPkt(dstTransport->appTransportHandle, 
+                                                      sizeof(Rm_Packet), &pktHandle);
+            if (!rmPkt || !pktHandle) {
+                transaction->state = RM_ERROR_TRANSPORT_ALLOC_PKT_ERROR;
+                goto errorExit;
+            }
 
-        switch (transaction->type) {
-            case Rm_service_RESOURCE_ALLOCATE_INIT:
-            case Rm_service_RESOURCE_ALLOCATE_USE:
-            case Rm_service_RESOURCE_FREE:
-            case Rm_service_RESOURCE_GET_BY_NAME:
-                createResourceReqPkt(rmPkt, rmInst->instName, transaction);
-                break;
-            case Rm_service_RESOURCE_MAP_TO_NAME:
-            case Rm_service_RESOURCE_UNMAP_NAME:
-                createNsRequestPkt(rmPkt, rmInst->instName, transaction);
-                break;
+            switch (transaction->type) {
+                case Rm_service_RESOURCE_ALLOCATE_INIT:
+                case Rm_service_RESOURCE_ALLOCATE_USE:
+                case Rm_service_RESOURCE_FREE:
+                case Rm_service_RESOURCE_GET_BY_NAME:
+                    createResourceReqPkt(rmPkt, rmInst->instName, transaction);
+                    break;
+                case Rm_service_RESOURCE_MAP_TO_NAME:
+                case Rm_service_RESOURCE_UNMAP_NAME:
+                    createNsRequestPkt(rmPkt, rmInst->instName, transaction);
+                    break;
+            }
+      
+            if (dstTransport->callouts.rmSendPkt(dstTransport->appTransportHandle, pktHandle) < RM_OK) {
+                transaction->state = RM_ERROR_TRANSPORT_SEND_ERROR;
+                goto errorExit;
+            }              
+            transaction->hasBeenForwarded = true;
+            /* Transaction not deleted.  Waiting for response from RM CD or Server */
         }
-  
-        if (dstTransport->callouts.rmSendPkt(dstTransport->appTransportHandle, pktHandle) < RM_OK) {
-            transaction->state = RM_ERROR_TRANSPORT_SEND_ERROR;
-            goto errorExit;
-        }              
-        transaction->hasBeenForwarded = true;
-        /* Transaction not deleted.  Waiting for response from RM CD or Server */
     }
+    else {
+        transaction->state = RM_ERROR_CALLBACK_NOT_PROVIDED;
+    }        
 errorExit: 
     return;
 }
index 31b8f3ccdc72f7afc191b76056f252b95200834b..f8af02dcdfec633656a55286365093f0ead5df7e 100644 (file)
@@ -77,11 +77,6 @@ void Rm_serviceHandler (void *rmHandle, const Rm_ServiceReqInfo *serviceRequest,
         return;
     }
 
-    if (serviceRequest->callback.serviceCallback == NULL) {
-        serviceResponse->serviceState = RM_ERROR_CALLBACK_NOT_PROVIDED;
-        return;
-    }
-
     if (serviceRequest->type >= Rm_service_LAST) {
         serviceResponse->serviceState = RM_ERROR_INVALID_SERVICE_TYPE;
         return;
index d742d52891e47f6b08d7da4275028ca85499ca92..6ac8ce1fe8f970a1238689ca8f2d97cd38335179 100644 (file)
@@ -483,7 +483,6 @@ void testRmTsk(UArg arg0, UArg arg1)
         requestInfo.resourceBase = RM_RESOURCE_BASE_UNSPECIFIED;
         requestInfo.resourceLength = 1;
         requestInfo.resourceAlignment = 0;
-        requestInfo.callback.serviceCallback = testServiceCallback;
         
         System_printf("Core %d: %s Allocating resource...\n", MultiProc_self(), rmServerName);
         rmServerServiceHandle->Rm_serviceHandler(rmServerServiceHandle->rmHandle, &requestInfo, &responseInfo);
@@ -508,7 +507,6 @@ void testRmTsk(UArg arg0, UArg arg1)
         requestInfo.resourceBase = RM_RESOURCE_BASE_UNSPECIFIED;
         requestInfo.resourceLength = 1;
         requestInfo.resourceAlignment = RM_RESOURCE_ALIGNMENT_UNSPECIFIED;
-        requestInfo.callback.serviceCallback = testServiceCallback;
         
         System_printf("Core %d: %s Allocating resource...\n", MultiProc_self(), rmServerName);
         rmServerServiceHandle->Rm_serviceHandler(rmServerServiceHandle->rmHandle, &requestInfo, &responseInfo);
@@ -533,7 +531,6 @@ void testRmTsk(UArg arg0, UArg arg1)
         requestInfo.resourceBase = RM_RESOURCE_BASE_UNSPECIFIED;
         requestInfo.resourceLength = 1;
         requestInfo.resourceAlignment = 200;
-        requestInfo.callback.serviceCallback = testServiceCallback;
         
         System_printf("Core %d: %s Allocating resource...\n", MultiProc_self(), rmServerName);
         rmServerServiceHandle->Rm_serviceHandler(rmServerServiceHandle->rmHandle, &requestInfo, &responseInfo);
@@ -561,7 +558,6 @@ void testRmTsk(UArg arg0, UArg arg1)
         requestInfo.resourceBase = 1002;
         requestInfo.resourceLength = 1;
         requestInfo.resourceNsName = nameServerNameFavQ;
-        requestInfo.callback.serviceCallback = testServiceCallback;
         
         System_printf("Core %d: %s creating NameServer object...\n", MultiProc_self(), rmServerName);
         rmServerServiceHandle->Rm_serviceHandler(rmServerServiceHandle->rmHandle, &requestInfo, &responseInfo);
@@ -596,7 +592,6 @@ void testRmTsk(UArg arg0, UArg arg1)
         requestInfo.resourceName = resourceNameMemRegion;
         requestInfo.resourceBase = 12;
         requestInfo.resourceLength = 1;
-        requestInfo.callback.serviceCallback = testServiceCallback;
         
         System_printf("Core %d: %s Trying to reserve memory region taken by Linux...\n", MultiProc_self(), rmServerName);
         rmServerServiceHandle->Rm_serviceHandler(rmServerServiceHandle->rmHandle, &requestInfo, &responseInfo);
@@ -621,7 +616,6 @@ void testRmTsk(UArg arg0, UArg arg1)
         requestInfo.resourceName = resourceNameAifRxCh;
         requestInfo.resourceBase = 14;
         requestInfo.resourceLength = 5;
-        requestInfo.callback.serviceCallback = testServiceCallback;
         
         System_printf("Core %d: %s Allocating resource...\n", MultiProc_self(), rmServerName);
         rmServerServiceHandle->Rm_serviceHandler(rmServerServiceHandle->rmHandle, &requestInfo, &responseInfo);
@@ -644,7 +638,6 @@ void testRmTsk(UArg arg0, UArg arg1)
         requestInfo.resourceName = resourceNameAifRxCh;
         requestInfo.resourceBase = 19;
         requestInfo.resourceLength = 31;
-        requestInfo.callback.serviceCallback = testServiceCallback;
         
         System_printf("Core %d: %s Allocating resource...\n", MultiProc_self(), rmServerName);
         rmServerServiceHandle->Rm_serviceHandler(rmServerServiceHandle->rmHandle, &requestInfo, &responseInfo);
@@ -674,7 +667,6 @@ void testRmTsk(UArg arg0, UArg arg1)
         requestInfo.resourceName = resourceNameAifRxCh;
         requestInfo.resourceBase = 25;
         requestInfo.resourceLength = 3;
-        requestInfo.callback.serviceCallback = testServiceCallback;
         
         System_printf("Core %d: %s freeing resource...\n", MultiProc_self(), rmServerName);
         rmServerServiceHandle->Rm_serviceHandler(rmServerServiceHandle->rmHandle, &requestInfo, &responseInfo);
@@ -698,7 +690,6 @@ void testRmTsk(UArg arg0, UArg arg1)
         requestInfo.resourceName = resourceNameAifRxCh;
         requestInfo.resourceBase = 34;
         requestInfo.resourceLength = 3;
-        requestInfo.callback.serviceCallback = testServiceCallback;
         
         System_printf("Core %d: %s freeing resource...\n", MultiProc_self(), rmServerName);
         rmServerServiceHandle->Rm_serviceHandler(rmServerServiceHandle->rmHandle, &requestInfo, &responseInfo);
@@ -722,7 +713,6 @@ void testRmTsk(UArg arg0, UArg arg1)
         requestInfo.resourceName = resourceNameAifRxCh;
         requestInfo.resourceBase = 28;
         requestInfo.resourceLength = 6;
-        requestInfo.callback.serviceCallback = testServiceCallback;
         
         System_printf("Core %d: %s freeing resource...\n", MultiProc_self(), rmServerName);
         rmServerServiceHandle->Rm_serviceHandler(rmServerServiceHandle->rmHandle, &requestInfo, &responseInfo);
@@ -746,7 +736,6 @@ void testRmTsk(UArg arg0, UArg arg1)
         requestInfo.resourceName = resourceNameAifRxCh;
         requestInfo.resourceBase = 53;
         requestInfo.resourceLength = 2;
-        requestInfo.callback.serviceCallback = testServiceCallback;
         
         System_printf("Core %d: %s freeing resource...\n", MultiProc_self(), rmServerName);
         rmServerServiceHandle->Rm_serviceHandler(rmServerServiceHandle->rmHandle, &requestInfo, &responseInfo);
@@ -769,7 +758,6 @@ void testRmTsk(UArg arg0, UArg arg1)
         requestInfo.resourceName = resourceNameAifRxCh;
         requestInfo.resourceBase = 2;
         requestInfo.resourceLength = 2;
-        requestInfo.callback.serviceCallback = testServiceCallback;
         
         System_printf("Core %d: %s freeing resource...\n", MultiProc_self(), rmServerName);
         rmServerServiceHandle->Rm_serviceHandler(rmServerServiceHandle->rmHandle, &requestInfo, &responseInfo);
@@ -802,7 +790,6 @@ void testRmTsk(UArg arg0, UArg arg1)
         requestInfo.resourceName = resourceNameGpQ;
         requestInfo.resourceBase = 6543;
         requestInfo.resourceLength = 10;
-        requestInfo.callback.serviceCallback = testServiceCallback;
         
         System_printf("Core %d: %s Allocating resource for init...\n", MultiProc_self(), rmServerName);
         rmServerServiceHandle->Rm_serviceHandler(rmServerServiceHandle->rmHandle, &requestInfo, &responseInfo);
@@ -825,7 +812,6 @@ void testRmTsk(UArg arg0, UArg arg1)
         requestInfo.resourceName = resourceNameGpQ;
         requestInfo.resourceBase = 6543;
         requestInfo.resourceLength = 10;
-        requestInfo.callback.serviceCallback = testServiceCallback;
         
         System_printf("Core %d: %s Allocating same resource for use...\n", MultiProc_self(), rmServerName);
         rmServerServiceHandle->Rm_serviceHandler(rmServerServiceHandle->rmHandle, &requestInfo, &responseInfo);
@@ -853,7 +839,6 @@ void testRmTsk(UArg arg0, UArg arg1)
         requestInfo.resourceName = resourceNameInfraQ;
         requestInfo.resourceBase = 805;
         requestInfo.resourceLength = 1;
-        requestInfo.callback.serviceCallback = testServiceCallback;
         
         System_printf("Core %d: %s Attempting to allocate infrastructure queue taken by Linux...\n", MultiProc_self(), rmServerName);
         rmServerServiceHandle->Rm_serviceHandler(rmServerServiceHandle->rmHandle, &requestInfo, &responseInfo);
@@ -1135,6 +1120,31 @@ void testRmTsk(UArg arg0, UArg arg1)
                                                                                 responseInfo.serviceState);
         }   
 
+        /* Attempt to request a service from an instance that requires a blocking operation to satisfy
+         * the request without providing a callback function. */
+        memset((void *) &requestInfo, 0, sizeof(Rm_ServiceReqInfo));        
+        requestInfo.type = Rm_service_RESOURCE_ALLOCATE_INIT;
+        requestInfo.resourceName = resourceNameGpQ;
+        requestInfo.resourceBase = 7000;
+        requestInfo.resourceLength = 1;
+        
+        System_printf("Core %d: %s Attempting service request without callback function...\n", MultiProc_self(), rmClientName);
+        rmClientServiceHandle->Rm_serviceHandler(rmClientServiceHandle->rmHandle, &requestInfo, &responseInfo);
+        if ((responseInfo.serviceState == RM_SERVICE_APPROVED) ||
+            (responseInfo.serviceState == RM_SERVICE_PROCESSING)) {        
+            if (blockForResponse(&responseInfo)) {
+                System_printf("Core %d: %s allocate resource: %s base: %d length: %d\n", MultiProc_self(),
+                                                                                         rmClientName,
+                                                                                         requestInfo.resourceName, 
+                                                                                         requestInfo.resourceBase,
+                                                                                         requestInfo.resourceLength);            
+            }   
+        }
+        else {
+            System_printf("Core %d: Static allocation failed with error: %d\n", MultiProc_self(), 
+                                                                                responseInfo.serviceState);
+        }          
+
         /* Release the syncObj so Server can print results of resource allocations */
         releaseSyncObj();           
     }