Author: vlendec
Date: 2007-05-20 20:28:45 +0000 (Sun, 20 May 2007)
New Revision: 23025

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=23025

Log:
Some logic simplifications

Modified:
   branches/SAMBA_3_0/source/lib/messages.c
   branches/SAMBA_3_0_26/source/lib/messages.c


Changeset:
Modified: branches/SAMBA_3_0/source/lib/messages.c
===================================================================
--- branches/SAMBA_3_0/source/lib/messages.c    2007-05-20 20:11:23 UTC (rev 
23024)
+++ branches/SAMBA_3_0/source/lib/messages.c    2007-05-20 20:28:45 UTC (rev 
23025)
@@ -208,32 +208,36 @@
                errno = saved_errno;
        }
 
-       if (ret == -1) {
-               if (errno == ESRCH) {
-                       DEBUG(2,("pid %d doesn't exist - deleting messages 
record\n",
-                                (int)pid));
-                       tdb_delete(tdb, message_key_pid(procid));
+       if (ret == 0) {
+               return NT_STATUS_OK;
+       }
 
-                       /*
-                        * INVALID_HANDLE is the closest I can think of -- vl
-                        */
-                       return NT_STATUS_INVALID_HANDLE;
-               }
+       /*
+        * Something has gone wrong
+        */
 
-               DEBUG(2,("message to process %d failed - %s\n", (int)pid,
-                        strerror(errno)));
+       if (errno == ESRCH) {
+               DEBUG(2,("pid %d doesn't exist - deleting messages record\n",
+                        (int)pid));
+               tdb_delete(tdb, message_key_pid(procid));
 
                /*
-                * No call to map_nt_error_from_unix -- don't want to link in
-                * errormap.o into lots of utils.
+                * INVALID_HANDLE is the closest I can think of -- vl
                 */
-
-               if (errno == EINVAL) return NT_STATUS_INVALID_PARAMETER;
-               if (errno == EPERM)  return NT_STATUS_ACCESS_DENIED;
-               return NT_STATUS_UNSUCCESSFUL;
+               return NT_STATUS_INVALID_HANDLE;
        }
 
-       return NT_STATUS_OK;
+       DEBUG(2,("message to process %d failed - %s\n", (int)pid,
+                strerror(errno)));
+
+       /*
+        * No call to map_nt_error_from_unix -- don't want to link in
+        * errormap.o into lots of utils.
+        */
+
+       if (errno == EINVAL) return NT_STATUS_INVALID_PARAMETER;
+       if (errno == EPERM)  return NT_STATUS_ACCESS_DENIED;
+       return NT_STATUS_UNSUCCESSFUL;
 }
 
 /****************************************************************************
@@ -243,7 +247,6 @@
 static NTSTATUS message_send_pid(struct server_id pid, int msg_type,
                                 const void *buf, size_t len)
 {
-       TDB_DATA kbuf;
        TDB_DATA dbuf;
        struct message_rec rec;
        int ret;
@@ -266,8 +269,6 @@
        rec.src = procid_self();
        rec.len = buf ? len : 0;
 
-       kbuf = message_key_pid(pid);
-
        dbuf.dptr = (uint8 *)SMB_MALLOC(len + sizeof(rec));
        if (!dbuf.dptr) {
                return NT_STATUS_NO_MEMORY;
@@ -279,7 +280,7 @@
 
        dbuf.dsize = len + sizeof(rec);
 
-       ret = tdb_append(tdb, kbuf, dbuf);
+       ret = tdb_append(tdb, message_key_pid(pid), dbuf);
 
        SAFE_FREE(dbuf.dptr);
 
@@ -297,14 +298,11 @@
 
 unsigned int messages_pending_for_pid(struct server_id pid)
 {
-       TDB_DATA kbuf;
        TDB_DATA dbuf;
        uint8 *buf;
        unsigned int message_count = 0;
 
-       kbuf = message_key_pid(pid);
-
-       dbuf = tdb_fetch(tdb, kbuf);
+       dbuf = tdb_fetch(tdb, message_key_pid(pid));
        if (dbuf.dptr == NULL || dbuf.dsize == 0) {
                SAFE_FREE(dbuf.dptr);
                return 0;
@@ -337,7 +335,7 @@
        *msgs_buf = NULL;
        *total_len = 0;
 
-       kbuf = message_key_pid(pid_to_procid(sys_getpid()));
+       kbuf = message_key_pid(procid_self());
 
        if (tdb_chainlock(tdb, kbuf) == -1)
                return False;

Modified: branches/SAMBA_3_0_26/source/lib/messages.c
===================================================================
--- branches/SAMBA_3_0_26/source/lib/messages.c 2007-05-20 20:11:23 UTC (rev 
23024)
+++ branches/SAMBA_3_0_26/source/lib/messages.c 2007-05-20 20:28:45 UTC (rev 
23025)
@@ -208,32 +208,36 @@
                errno = saved_errno;
        }
 
-       if (ret == -1) {
-               if (errno == ESRCH) {
-                       DEBUG(2,("pid %d doesn't exist - deleting messages 
record\n",
-                                (int)pid));
-                       tdb_delete(tdb, message_key_pid(procid));
+       if (ret == 0) {
+               return NT_STATUS_OK;
+       }
 
-                       /*
-                        * INVALID_HANDLE is the closest I can think of -- vl
-                        */
-                       return NT_STATUS_INVALID_HANDLE;
-               }
+       /*
+        * Something has gone wrong
+        */
 
-               DEBUG(2,("message to process %d failed - %s\n", (int)pid,
-                        strerror(errno)));
+       if (errno == ESRCH) {
+               DEBUG(2,("pid %d doesn't exist - deleting messages record\n",
+                        (int)pid));
+               tdb_delete(tdb, message_key_pid(procid));
 
                /*
-                * No call to map_nt_error_from_unix -- don't want to link in
-                * errormap.o into lots of utils.
+                * INVALID_HANDLE is the closest I can think of -- vl
                 */
-
-               if (errno == EINVAL) return NT_STATUS_INVALID_PARAMETER;
-               if (errno == EPERM)  return NT_STATUS_ACCESS_DENIED;
-               return NT_STATUS_UNSUCCESSFUL;
+               return NT_STATUS_INVALID_HANDLE;
        }
 
-       return NT_STATUS_OK;
+       DEBUG(2,("message to process %d failed - %s\n", (int)pid,
+                strerror(errno)));
+
+       /*
+        * No call to map_nt_error_from_unix -- don't want to link in
+        * errormap.o into lots of utils.
+        */
+
+       if (errno == EINVAL) return NT_STATUS_INVALID_PARAMETER;
+       if (errno == EPERM)  return NT_STATUS_ACCESS_DENIED;
+       return NT_STATUS_UNSUCCESSFUL;
 }
 
 /****************************************************************************
@@ -243,7 +247,6 @@
 static NTSTATUS message_send_pid(struct server_id pid, int msg_type,
                                 const void *buf, size_t len)
 {
-       TDB_DATA kbuf;
        TDB_DATA dbuf;
        struct message_rec rec;
        int ret;
@@ -266,8 +269,6 @@
        rec.src = procid_self();
        rec.len = buf ? len : 0;
 
-       kbuf = message_key_pid(pid);
-
        dbuf.dptr = (uint8 *)SMB_MALLOC(len + sizeof(rec));
        if (!dbuf.dptr) {
                return NT_STATUS_NO_MEMORY;
@@ -279,7 +280,7 @@
 
        dbuf.dsize = len + sizeof(rec);
 
-       ret = tdb_append(tdb, kbuf, dbuf);
+       ret = tdb_append(tdb, message_key_pid(pid), dbuf);
 
        SAFE_FREE(dbuf.dptr);
 
@@ -297,14 +298,11 @@
 
 unsigned int messages_pending_for_pid(struct server_id pid)
 {
-       TDB_DATA kbuf;
        TDB_DATA dbuf;
        uint8 *buf;
        unsigned int message_count = 0;
 
-       kbuf = message_key_pid(pid);
-
-       dbuf = tdb_fetch(tdb, kbuf);
+       dbuf = tdb_fetch(tdb, message_key_pid(pid));
        if (dbuf.dptr == NULL || dbuf.dsize == 0) {
                SAFE_FREE(dbuf.dptr);
                return 0;
@@ -337,7 +335,7 @@
        *msgs_buf = NULL;
        *total_len = 0;
 
-       kbuf = message_key_pid(pid_to_procid(sys_getpid()));
+       kbuf = message_key_pid(procid_self());
 
        if (tdb_chainlock(tdb, kbuf) == -1)
                return False;

Reply via email to