Browse Source

Merge trunk and create release.

Brian Aker 12 years ago
parent
commit
607d61d25c
6 changed files with 65 additions and 147 deletions
  1. 6 1
      ChangeLog
  2. 0 1
      libgearman-server/include.am
  3. 59 44
      libgearman/command.cc
  4. 0 1
      libgearman/include.am
  5. 0 99
      libgearman/strcommand.cc
  6. 0 1
      libgearmancore/include.am

+ 6 - 1
ChangeLog

@@ -1,3 +1,8 @@
+1.1.7 Mon May  6 06:46:20 EDT 2013
+* Cleanup of error codes returned by gearmand.
+* gearmand will now set its port from the env variable GEARMAND_PORT.
+* Fix issue where identifier might not be set correctly on reconnect.
+
 1.1.6 Tue Apr 16 03:29:57 EDT 2013
 * Merge of 1.0.4 tree
 * Added support for gearadmin to "cancel" a job.
@@ -24,7 +29,7 @@
 1.1.0 Wed Sep  5 08:33:37 PDT 2012
 * Fix for ABI compatibility issues.
 
-1.0.6
+1.0.6 Mon May  6 02:48:30 EDT 2013
 * strlen() of zero on name passed for instance did not result in a connection to localhost (which the php driver thought would happen).
 * Fix regression in log not updating time on all platforms.
 * Fix issue where pecl php wasn't passing a null string to get default host.

+ 0 - 1
libgearman-server/include.am

@@ -80,7 +80,6 @@ libgearman_server_libgearman_server_la_SOURCES+= \
 						 libgearman-server/wakeup.cc \
 						 libgearman-server/worker.cc \
 						 libgearman/command.cc \
-						 libgearman/strcommand.cc \
 						 libgearman/strerror.cc
 
 libgearman_server_libgearman_server_la_CFLAGS+= @PTHREAD_CFLAGS@

+ 59 - 44
libgearman/command.cc

@@ -40,7 +40,8 @@
 #include <libgearman/common.h>
 
 #include <libgearman-1.0/visibility.h>
-#include <libgearman/command.hpp>
+#include "libgearman/command.hpp"
+#include "libgearman/strcommand.h"
 
 #include "libgearman/assert.hpp"
 
@@ -52,51 +53,65 @@ using namespace org::gearman;
  */
 gearman_command_info_st gearmand_command_info_list[GEARMAN_COMMAND_MAX]=
 {
-  { "TEXT", GEARMAN_COMMAND_TEXT, 5, false },
-  { "CAN_DO", GEARMAN_COMMAND_CAN_DO, 1, false },
-  { "CANT_DO", GEARMAN_COMMAND_CANT_DO, 1, false },
-  { "RESET_ABILITIES", GEARMAN_COMMAND_RESET_ABILITIES, 0, false },
-  { "PRE_SLEEP", GEARMAN_COMMAND_PRE_SLEEP, 0, false },
-  { "UNUSED", GEARMAN_COMMAND_UNUSED, 0, false },
-  { "NOOP", GEARMAN_COMMAND_NOOP, 0, false },
-  { "SUBMIT_JOB", GEARMAN_COMMAND_SUBMIT_JOB, 2, true  },
-  { "JOB_CREATED", GEARMAN_COMMAND_JOB_CREATED, 1, false },
-  { "GRAB_JOB", GEARMAN_COMMAND_GRAB_JOB, 0, false },
-  { "NO_JOB", GEARMAN_COMMAND_NO_JOB, 0, false },
-  { "JOB_ASSIGN", GEARMAN_COMMAND_JOB_ASSIGN, 2, true  },
-  { "WORK_STATUS", GEARMAN_COMMAND_WORK_STATUS, 3, false },
-  { "WORK_COMPLETE", GEARMAN_COMMAND_WORK_COMPLETE, 1, true  },
-  { "WORK_FAIL",GEARMAN_COMMAND_WORK_FAIL, 1, false },
-  { "GET_STATUS",GEARMAN_COMMAND_GET_STATUS, 1, false },
-  { "ECHO_REQ", GEARMAN_COMMAND_ECHO_REQ, 0, true  },
-  { "ECHO_RES", GEARMAN_COMMAND_ECHO_RES, 0, true  },
-  { "SUBMIT_JOB_BG", GEARMAN_COMMAND_SUBMIT_JOB_BG, 2, true  },
-  { "ERROR", GEARMAN_COMMAND_ERROR, 2, false },
-  { "STATUS_RES", GEARMAN_COMMAND_STATUS_RES, 5, false },
-  { "SUBMIT_JOB_HIGH", GEARMAN_COMMAND_SUBMIT_JOB_HIGH, 2, true  },
-  { "SET_CLIENT_ID", GEARMAN_COMMAND_SET_CLIENT_ID, 1, false },
-  { "CAN_DO_TIMEOUT", GEARMAN_COMMAND_CAN_DO_TIMEOUT, 2, false },
-  { "ALL_YOURS", GEARMAN_COMMAND_ALL_YOURS, 0, false },
-  { "WORK_EXCEPTION", GEARMAN_COMMAND_WORK_EXCEPTION, 1, true  },
-  { "OPTION_REQ", GEARMAN_COMMAND_OPTION_REQ, 1, false },
-  { "OPTION_RES", GEARMAN_COMMAND_OPTION_RES, 1, false },
-  { "WORK_DATA", GEARMAN_COMMAND_WORK_DATA, 1, true  },
-  { "WORK_WARNING", GEARMAN_COMMAND_WORK_WARNING, 1, true  },
-  { "GRAB_JOB_UNIQ", GEARMAN_COMMAND_GRAB_JOB_UNIQ, 0, false },
-  { "JOB_ASSIGN_UNIQ", GEARMAN_COMMAND_JOB_ASSIGN_UNIQ, 3, true  },
-  { "SUBMIT_JOB_HIGH_BG", GEARMAN_COMMAND_SUBMIT_JOB_HIGH_BG, 2, true  },
-  { "SUBMIT_JOB_LOW", GEARMAN_COMMAND_SUBMIT_JOB_LOW, 2, true  },
-  { "SUBMIT_JOB_LOW_BG", GEARMAN_COMMAND_SUBMIT_JOB_LOW_BG, 2, true  },
-  { "SUBMIT_JOB_SCHED", GEARMAN_COMMAND_SUBMIT_JOB_SCHED, 7, true  },
-  { "SUBMIT_JOB_EPOCH", GEARMAN_COMMAND_SUBMIT_JOB_EPOCH, 3, true  },
-  { "SUBMIT_REDUCE_JOB", GEARMAN_COMMAND_SUBMIT_REDUCE_JOB, 4, true },
-  { "SUBMIT_REDUCE_JOB_BACKGROUND", GEARMAN_COMMAND_SUBMIT_REDUCE_JOB_BACKGROUND, 4, true },
-  { "GRAB_JOB_ALL", GEARMAN_COMMAND_GRAB_JOB_ALL, 0, false  },
-  { "JOB_ASSIGN_ALL", GEARMAN_COMMAND_JOB_ASSIGN_ALL,   4, true  },
-  { "GET_STATUS_UNIQUE", GEARMAN_COMMAND_GET_STATUS_UNIQUE, 1, false },
-  { "STATUS_RES_UNIQUE", GEARMAN_COMMAND_STATUS_RES_UNIQUE, 6, false }
+  { "GEARMAN_TEXT", GEARMAN_COMMAND_TEXT, 5, false },
+  { "GEARMAN_CAN_DO", GEARMAN_COMMAND_CAN_DO, 1, false },
+  { "GEARMAN_CANT_DO", GEARMAN_COMMAND_CANT_DO, 1, false },
+  { "GEARMAN_RESET_ABILITIES", GEARMAN_COMMAND_RESET_ABILITIES, 0, false },
+  { "GEARMAN_PRE_SLEEP", GEARMAN_COMMAND_PRE_SLEEP, 0, false },
+  { "GEARMAN_UNUSED", GEARMAN_COMMAND_UNUSED, 0, false },
+  { "GEARMAN_NOOP", GEARMAN_COMMAND_NOOP, 0, false },
+  { "GEARMAN_SUBMIT_JOB", GEARMAN_COMMAND_SUBMIT_JOB, 2, true  },
+  { "GEARMAN_JOB_CREATED", GEARMAN_COMMAND_JOB_CREATED, 1, false },
+  { "GEARMAN_GRAB_JOB", GEARMAN_COMMAND_GRAB_JOB, 0, false },
+  { "GEARMAN_NO_JOB", GEARMAN_COMMAND_NO_JOB, 0, false },
+  { "GEARMAN_JOB_ASSIGN", GEARMAN_COMMAND_JOB_ASSIGN, 2, true  },
+  { "GEARMAN_WORK_STATUS", GEARMAN_COMMAND_WORK_STATUS, 3, false },
+  { "GEARMAN_WORK_COMPLETE", GEARMAN_COMMAND_WORK_COMPLETE, 1, true  },
+  { "GEARMAN_WORK_FAIL",GEARMAN_COMMAND_WORK_FAIL, 1, false },
+  { "GEARMAN_GET_STATUS",GEARMAN_COMMAND_GET_STATUS, 1, false },
+  { "GEARMAN_ECHO_REQ", GEARMAN_COMMAND_ECHO_REQ, 0, true  },
+  { "GEARMAN_ECHO_RES", GEARMAN_COMMAND_ECHO_RES, 0, true  },
+  { "GEARMAN_SUBMIT_JOB_BG", GEARMAN_COMMAND_SUBMIT_JOB_BG, 2, true  },
+  { "GEARMAN_ERROR", GEARMAN_COMMAND_ERROR, 2, false },
+  { "GEARMAN_STATUS_RES", GEARMAN_COMMAND_STATUS_RES, 5, false },
+  { "GEARMAN_SUBMIT_JOB_HIGH", GEARMAN_COMMAND_SUBMIT_JOB_HIGH, 2, true  },
+  { "GEARMAN_SET_CLIENT_ID", GEARMAN_COMMAND_SET_CLIENT_ID, 1, false },
+  { "GEARMAN_CAN_DO_TIMEOUT", GEARMAN_COMMAND_CAN_DO_TIMEOUT, 2, false },
+  { "GEARMAN_ALL_YOURS", GEARMAN_COMMAND_ALL_YOURS, 0, false },
+  { "GEARMAN_WORK_EXCEPTION", GEARMAN_COMMAND_WORK_EXCEPTION, 1, true  },
+  { "GEARMAN_OPTION_REQ", GEARMAN_COMMAND_OPTION_REQ, 1, false },
+  { "GEARMAN_OPTION_RES", GEARMAN_COMMAND_OPTION_RES, 1, false },
+  { "GEARMAN_WORK_DATA", GEARMAN_COMMAND_WORK_DATA, 1, true  },
+  { "GEARMAN_WORK_WARNING", GEARMAN_COMMAND_WORK_WARNING, 1, true  },
+  { "GEARMAN_GRAB_JOB_UNIQ", GEARMAN_COMMAND_GRAB_JOB_UNIQ, 0, false },
+  { "GEARMAN_JOB_ASSIGN_UNIQ", GEARMAN_COMMAND_JOB_ASSIGN_UNIQ, 3, true  },
+  { "GEARMAN_SUBMIT_JOB_HIGH_BG", GEARMAN_COMMAND_SUBMIT_JOB_HIGH_BG, 2, true  },
+  { "GEARMAN_SUBMIT_JOB_LOW", GEARMAN_COMMAND_SUBMIT_JOB_LOW, 2, true  },
+  { "GEARMAN_SUBMIT_JOB_LOW_BG", GEARMAN_COMMAND_SUBMIT_JOB_LOW_BG, 2, true  },
+  { "GEARMAN_SUBMIT_JOB_SCHED", GEARMAN_COMMAND_SUBMIT_JOB_SCHED, 7, true  },
+  { "GEARMAN_SUBMIT_JOB_EPOCH", GEARMAN_COMMAND_SUBMIT_JOB_EPOCH, 3, true  },
+  { "GEARMAN_SUBMIT_REDUCE_JOB", GEARMAN_COMMAND_SUBMIT_REDUCE_JOB, 4, true },
+  { "GEARMAN_SUBMIT_REDUCE_JOB_BACKGROUND", GEARMAN_COMMAND_SUBMIT_REDUCE_JOB_BACKGROUND, 4, true },
+  { "GEARMAN_GRAB_JOB_ALL", GEARMAN_COMMAND_GRAB_JOB_ALL, 0, false  },
+  { "GEARMAN_JOB_ASSIGN_ALL", GEARMAN_COMMAND_JOB_ASSIGN_ALL,   4, true  },
+  { "GEARMAN_GET_STATUS_UNIQUE", GEARMAN_COMMAND_GET_STATUS_UNIQUE, 1, false },
+  { "GEARMAN_STATUS_RES_UNIQUE", GEARMAN_COMMAND_STATUS_RES_UNIQUE, 6, false }
 };
 
+const char *gearman_strcommand(gearman_command_t command)
+{
+  if ((command >= GEARMAN_COMMAND_TEXT) and (command <= GEARMAN_COMMAND_STATUS_RES_UNIQUE))
+  {
+    const char* str=  gearmand_command_info_list[command].name;
+
+    str+= sizeof("GEARMAN_");
+    return str;
+  }
+
+  assert(0); // We should never reach this
+  abort();
+}
+
 const gearman_command_info_st *gearman_command_info(gearman_command_t command)
 {
   assert(command >= GEARMAN_COMMAND_TEXT);

+ 0 - 1
libgearman/include.am

@@ -115,7 +115,6 @@ libgearman_libgearman_la_SOURCES+= \
 				  libgearman/result.cc \
 				  libgearman/run.cc \
 				  libgearman/status.cc \
-				  libgearman/strcommand.cc \
 				  libgearman/strerror.cc \
 				  libgearman/string.cc \
 				  libgearman/task.cc \

+ 0 - 99
libgearman/strcommand.cc

@@ -1,99 +0,0 @@
-/*  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
- * 
- *  Gearmand client and server library.
- *
- *  Copyright (C) 2011 Data Differential, http://datadifferential.com/
- *  All rights reserved.
- *
- *  Redistribution and use in source and binary forms, with or without
- *  modification, are permitted provided that the following conditions are
- *  met:
- *
- *      * Redistributions of source code must retain the above copyright
- *  notice, this list of conditions and the following disclaimer.
- *
- *      * Redistributions in binary form must reproduce the above
- *  copyright notice, this list of conditions and the following disclaimer
- *  in the documentation and/or other materials provided with the
- *  distribution.
- *
- *      * The names of its contributors may not be used to endorse or
- *  promote products derived from this software without specific prior
- *  written permission.
- *
- *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "gear_config.h"
-
-#include <libgearman/command.h>
-#include <libgearman/strcommand.h>
-
-#include "libgearman/assert.hpp"
-
-#include <cstdlib>
-
-const char *gearman_strcommand(gearman_command_t command)
-{
-  switch(command)
-  {
-  case GEARMAN_COMMAND_TEXT: return "GEARMAN_COMMAND_TEXT";
-  case GEARMAN_COMMAND_CAN_DO: return "GEARMAN_COMMAND_CAN_DO";
-  case GEARMAN_COMMAND_CANT_DO: return "GEARMAN_COMMAND_CANT_DO";
-  case GEARMAN_COMMAND_RESET_ABILITIES: return "GEARMAN_COMMAND_RESET_ABILITIES";
-  case GEARMAN_COMMAND_PRE_SLEEP: return "GEARMAN_COMMAND_PRE_SLEEP";
-  case GEARMAN_COMMAND_UNUSED: return "GEARMAN_COMMAND_UNUSED";
-  case GEARMAN_COMMAND_NOOP: return "GEARMAN_COMMAND_NOOP";
-  case GEARMAN_COMMAND_SUBMIT_JOB: return "GEARMAN_COMMAND_SUBMIT_JOB";
-  case GEARMAN_COMMAND_JOB_CREATED: return "GEARMAN_COMMAND_JOB_CREATED";
-  case GEARMAN_COMMAND_GRAB_JOB: return "GEARMAN_COMMAND_GRAB_JOB";
-  case GEARMAN_COMMAND_NO_JOB: return "GEARMAN_COMMAND_NO_JOB";
-  case GEARMAN_COMMAND_JOB_ASSIGN: return "GEARMAN_COMMAND_JOB_ASSIGN";
-  case GEARMAN_COMMAND_WORK_STATUS: return "GEARMAN_COMMAND_WORK_STATUS";
-  case GEARMAN_COMMAND_WORK_COMPLETE: return "GEARMAN_COMMAND_WORK_COMPLETE";
-  case GEARMAN_COMMAND_WORK_FAIL: return "GEARMAN_COMMAND_WORK_FAIL";
-  case GEARMAN_COMMAND_GET_STATUS: return "GEARMAN_COMMAND_GET_STATUS";
-  case GEARMAN_COMMAND_ECHO_REQ: return "GEARMAN_COMMAND_ECHO_REQ";
-  case GEARMAN_COMMAND_ECHO_RES: return "GEARMAN_COMMAND_ECHO_RES";
-  case GEARMAN_COMMAND_SUBMIT_JOB_BG: return "GEARMAN_COMMAND_SUBMIT_JOB_BG";
-  case GEARMAN_COMMAND_ERROR: return "GEARMAN_COMMAND_ERROR";
-  case GEARMAN_COMMAND_STATUS_RES: return "GEARMAN_COMMAND_STATUS_RES";
-  case GEARMAN_COMMAND_SUBMIT_JOB_HIGH: return "GEARMAN_COMMAND_SUBMIT_JOB_HIGH";
-  case GEARMAN_COMMAND_SET_CLIENT_ID: return "GEARMAN_COMMAND_SET_CLIENT_ID";
-  case GEARMAN_COMMAND_CAN_DO_TIMEOUT: return "GEARMAN_COMMAND_CAN_DO_TIMEOUT";
-  case GEARMAN_COMMAND_ALL_YOURS: return "GEARMAN_COMMAND_ALL_YOURS";
-  case GEARMAN_COMMAND_WORK_EXCEPTION: return "GEARMAN_COMMAND_WORK_EXCEPTION";
-  case GEARMAN_COMMAND_OPTION_REQ: return "GEARMAN_COMMAND_OPTION_REQ";
-  case GEARMAN_COMMAND_OPTION_RES: return "GEARMAN_COMMAND_OPTION_RES";
-  case GEARMAN_COMMAND_WORK_DATA: return "GEARMAN_COMMAND_WORK_DATA";
-  case GEARMAN_COMMAND_WORK_WARNING: return "GEARMAN_COMMAND_WORK_WARNING";
-  case GEARMAN_COMMAND_GRAB_JOB_UNIQ: return "GEARMAN_COMMAND_GRAB_JOB_UNIQ";
-  case GEARMAN_COMMAND_JOB_ASSIGN_UNIQ: return "GEARMAN_COMMAND_JOB_ASSIGN_UNIQ";
-  case GEARMAN_COMMAND_SUBMIT_JOB_HIGH_BG: return "GEARMAN_COMMAND_SUBMIT_JOB_HIGH_BG";
-  case GEARMAN_COMMAND_SUBMIT_JOB_LOW: return "GEARMAN_COMMAND_SUBMIT_JOB_LOW";
-  case GEARMAN_COMMAND_SUBMIT_JOB_LOW_BG: return "GEARMAN_COMMAND_SUBMIT_JOB_LOW_BG";
-  case GEARMAN_COMMAND_SUBMIT_JOB_SCHED: return "GEARMAN_COMMAND_SUBMIT_JOB_SCHED";
-  case GEARMAN_COMMAND_SUBMIT_JOB_EPOCH: return "GEARMAN_COMMAND_SUBMIT_JOB_EPOCH";
-  case GEARMAN_COMMAND_SUBMIT_REDUCE_JOB: return "GEARMAN_COMMAND_SUBMIT_REDUCE_JOB";
-  case GEARMAN_COMMAND_SUBMIT_REDUCE_JOB_BACKGROUND: return "GEARMAN_COMMAND_SUBMIT_REDUCE_JOB_BACKGROUND";
-  case GEARMAN_COMMAND_GRAB_JOB_ALL: return "GEARMAN_COMMAND_GRAB_JOB_ALL";
-  case GEARMAN_COMMAND_JOB_ASSIGN_ALL: return "GEARMAN_COMMAND_JOB_ASSIGN_ALL";
-  case GEARMAN_COMMAND_MAX: return "GEARMAN_COMMAND_MAX";
-  case GEARMAN_COMMAND_GET_STATUS_UNIQUE: return "GEARMAN_COMMAND_GET_STATUS_UNIQUE";
-  case GEARMAN_COMMAND_STATUS_RES_UNIQUE: return "GEARMAN_COMMAND_STATUS_RES_UNIQUE";
-  }
-
-  assert(0); // We should never reach this
-  abort();
-}

+ 0 - 1
libgearmancore/include.am

@@ -22,7 +22,6 @@ libgearman_libgearmancore_la_SOURCES+= libgearman/error_code.cc
 libgearman_libgearmancore_la_SOURCES+= libgearman/log.cc
 libgearman_libgearmancore_la_SOURCES+= libgearman/packet.cc
 libgearman_libgearmancore_la_SOURCES+= libgearman/server_options.cc
-libgearman_libgearmancore_la_SOURCES+= libgearman/strcommand.cc
 libgearman_libgearmancore_la_SOURCES+= libgearman/strerror.cc
 libgearman_libgearmancore_la_SOURCES+= libgearman/universal.cc
 libgearman_libgearmancore_la_SOURCES+= libgearman/uuid.cc