Merge lp:~brianaker/gearmand/job-cleanup-for-exception into lp:gearmand

Proposed by Brian Aker
Status: Merged
Merged at revision: 803
Proposed branch: lp:~brianaker/gearmand/job-cleanup-for-exception
Merge into: lp:gearmand
Diff against target: 499 lines (+116/-59)
13 files modified
libgearman-server/queue.cc (+18/-8)
libgearman-server/server.cc (+20/-0)
libgearman/add.cc (+3/-9)
libgearman/add.hpp (+1/-1)
libgearman/client.cc (+6/-6)
libgearman/function/function_v1.hpp (+5/-5)
libgearman/function/function_v2.cc (+4/-4)
libgearman/function/partition.cc (+4/-4)
libgearman/interface/worker.hpp (+5/-0)
libgearman/job.cc (+8/-3)
libgearman/job.hpp (+11/-1)
libgearman/worker.cc (+15/-15)
tests/libgearman-1.0/worker_test.cc (+16/-3)
To merge this branch: bzr merge lp:~brianaker/gearmand/job-cleanup-for-exception
Reviewer Review Type Date Requested Status
Tangent Trunk Pending
Review via email: mp+173287@code.launchpad.net
To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'libgearman-server/queue.cc'
--- libgearman-server/queue.cc 2013-06-05 21:12:38 +0000
+++ libgearman-server/queue.cc 2013-07-05 22:08:31 +0000
@@ -61,7 +61,11 @@
61{61{
62 assert(server->state.queue_startup == false);62 assert(server->state.queue_startup == false);
63 gearmand_error_t ret;63 gearmand_error_t ret;
64 if (server->queue_version == QUEUE_VERSION_FUNCTION)64 if (server->queue_version == QUEUE_VERSION_NONE)
65 {
66 return GEARMAND_SUCCESS;
67 }
68 else if (server->queue_version == QUEUE_VERSION_FUNCTION)
65 {69 {
66 assert(server->queue.functions->_add_fn);70 assert(server->queue.functions->_add_fn);
67 ret= (*(server->queue.functions->_add_fn))(server,71 ret= (*(server->queue.functions->_add_fn))(server,
@@ -114,7 +118,11 @@
114 const char *function_name,118 const char *function_name,
115 size_t function_name_size)119 size_t function_name_size)
116{120{
117 if (server->queue_version == QUEUE_VERSION_FUNCTION)121 if (server->queue_version == QUEUE_VERSION_NONE)
122 {
123 return GEARMAND_SUCCESS;
124 }
125 else if (server->queue_version == QUEUE_VERSION_FUNCTION)
118 {126 {
119 assert(server->queue.functions->_done_fn);127 assert(server->queue.functions->_done_fn);
120 return (*(server->queue.functions->_done_fn))(server,128 return (*(server->queue.functions->_done_fn))(server,
@@ -123,12 +131,14 @@
123 function_name,131 function_name,
124 function_name_size);132 function_name_size);
125 }133 }
126134 else
127 assert(server->queue.object);135 {
128 return server->queue.object->done(server,136 assert(server->queue.object);
129 unique, unique_size,137 return server->queue.object->done(server,
130 function_name,138 unique, unique_size,
131 function_name_size);139 function_name,
140 function_name_size);
141 }
132}142}
133143
134void gearman_server_save_job(gearman_server_st& server,144void gearman_server_save_job(gearman_server_st& server,
135145
=== modified file 'libgearman-server/server.cc'
--- libgearman-server/server.cc 2013-06-27 22:00:23 +0000
+++ libgearman-server/server.cc 2013-07-05 22:08:31 +0000
@@ -827,6 +827,26 @@
827 {827 {
828 return gearmand_gerror("_server_queue_work_data", ret);828 return gearmand_gerror("_server_queue_work_data", ret);
829 }829 }
830
831#if 0
832 /* Remove from persistent queue if one exists. */
833 if (server_job->job_queued)
834 {
835 ret= gearman_queue_done(Server,
836 server_job->unique,
837 server_job->unique_length,
838 server_job->function->function_name,
839 server_job->function->function_name_size);
840 if (gearmand_failed(ret))
841 {
842 gearmand_gerror("Remove from persistent queue", ret);
843 return ret;
844 }
845 }
846
847 /* Job is done, remove it. */
848 gearman_server_job_free(server_job);
849#endif
830 }850 }
831851
832 break;852 break;
833853
=== modified file 'libgearman/add.cc'
--- libgearman/add.cc 2013-06-23 08:23:26 +0000
+++ libgearman/add.cc 2013-07-05 22:08:31 +0000
@@ -139,15 +139,9 @@
139 const char *unique,139 const char *unique,
140 const void *workload_str, size_t workload_size,140 const void *workload_str, size_t workload_size,
141 time_t when,141 time_t when,
142 gearman_return_t *ret_ptr,142 gearman_return_t& ret_ptr,
143 const gearman_actions_t &actions)143 const gearman_actions_t &actions)
144{144{
145 gearman_return_t unused;
146 if (ret_ptr == NULL)
147 {
148 ret_ptr= &unused;
149 }
150
151 gearman_string_t function= { gearman_string_param_cstr(function_name) };145 gearman_string_t function= { gearman_string_param_cstr(function_name) };
152 gearman_unique_t local_unique= gearman_unique_make(unique, unique ? strlen(unique) : 0);146 gearman_unique_t local_unique= gearman_unique_make(unique, unique ? strlen(unique) : 0);
153 gearman_string_t workload= { static_cast<const char *>(workload_str), workload_size };147 gearman_string_t workload= { static_cast<const char *>(workload_str), workload_size };
@@ -155,11 +149,11 @@
155 task= add_task(client, task, context, command, function, local_unique, workload, when, actions);149 task= add_task(client, task, context, command, function, local_unique, workload, when, actions);
156 if (task == NULL)150 if (task == NULL)
157 {151 {
158 *ret_ptr= client.impl()->universal.error_code();152 ret_ptr= client.impl()->universal.error_code();
159 return NULL;153 return NULL;
160 }154 }
161155
162 *ret_ptr= GEARMAN_SUCCESS;156 ret_ptr= GEARMAN_SUCCESS;
163157
164 return task;158 return task;
165}159}
166160
=== modified file 'libgearman/add.hpp'
--- libgearman/add.hpp 2012-05-13 23:19:56 +0000
+++ libgearman/add.hpp 2013-07-05 22:08:31 +0000
@@ -59,7 +59,7 @@
59 const char *unique,59 const char *unique,
60 const void *workload_str, size_t workload_size,60 const void *workload_str, size_t workload_size,
61 time_t when,61 time_t when,
62 gearman_return_t *ret_ptr,62 gearman_return_t& ret_ptr,
63 const gearman_actions_t &actions);63 const gearman_actions_t &actions);
6464
65gearman_task_st *add_task(gearman_client_st& client,65gearman_task_st *add_task(gearman_client_st& client,
6666
=== modified file 'libgearman/client.cc'
--- libgearman/client.cc 2013-06-27 22:00:23 +0000
+++ libgearman/client.cc 2013-07-05 22:08:31 +0000
@@ -1052,7 +1052,7 @@
1052 unique,1052 unique,
1053 workload, workload_size,1053 workload, workload_size,
1054 time_t(0),1054 time_t(0),
1055 ret_ptr,1055 *ret_ptr,
1056 client->impl()->actions);1056 client->impl()->actions);
1057}1057}
10581058
@@ -1082,7 +1082,7 @@
1082 unique,1082 unique,
1083 workload, workload_size,1083 workload, workload_size,
1084 time_t(0),1084 time_t(0),
1085 ret_ptr,1085 *ret_ptr,
1086 client->impl()->actions);1086 client->impl()->actions);
1087}1087}
10881088
@@ -1111,7 +1111,7 @@
1111 unique,1111 unique,
1112 workload, workload_size,1112 workload, workload_size,
1113 time_t(0),1113 time_t(0),
1114 ret_ptr,1114 *ret_ptr,
1115 client->impl()->actions);1115 client->impl()->actions);
1116}1116}
11171117
@@ -1140,7 +1140,7 @@
1140 unique,1140 unique,
1141 workload, workload_size,1141 workload, workload_size,
1142 time_t(0),1142 time_t(0),
1143 ret_ptr,1143 *ret_ptr,
1144 client->impl()->actions);1144 client->impl()->actions);
1145}1145}
11461146
@@ -1171,7 +1171,7 @@
1171 unique,1171 unique,
1172 workload, workload_size,1172 workload, workload_size,
1173 time_t(0),1173 time_t(0),
1174 ret_ptr,1174 *ret_ptr,
1175 client->impl()->actions);1175 client->impl()->actions);
1176}1176}
11771177
@@ -1201,7 +1201,7 @@
1201 unique,1201 unique,
1202 workload, workload_size,1202 workload, workload_size,
1203 time_t(0),1203 time_t(0),
1204 ret_ptr,1204 *ret_ptr,
1205 client->impl()->actions);1205 client->impl()->actions);
12061206
1207}1207}
12081208
=== modified file 'libgearman/function/function_v1.hpp'
--- libgearman/function/function_v1.hpp 2013-07-02 23:51:10 +0000
+++ libgearman/function/function_v1.hpp 2013-07-05 22:08:31 +0000
@@ -62,20 +62,20 @@
62 gearman_job_build_reducer(job, NULL);62 gearman_job_build_reducer(job, NULL);
63 }63 }
6464
65 job->error_code= GEARMAN_SUCCESS;65 job->_error_code= GEARMAN_SUCCESS;
66 job->_worker.work_result= _worker_fn(job, context_arg, &(job->_worker.work_result_size), &job->error_code);66 job->_worker.work_result= _worker_fn(job, context_arg, &(job->_worker.work_result_size), &job->_error_code);
6767
68 if (job->error_code == GEARMAN_LOST_CONNECTION)68 if (job->_error_code == GEARMAN_LOST_CONNECTION)
69 {69 {
70 return GEARMAN_FUNCTION_ERROR;70 return GEARMAN_FUNCTION_ERROR;
71 }71 }
7272
73 if (job->error_code == GEARMAN_SHUTDOWN)73 if (job->_error_code == GEARMAN_SHUTDOWN)
74 {74 {
75 return GEARMAN_FUNCTION_SHUTDOWN;75 return GEARMAN_FUNCTION_SHUTDOWN;
76 }76 }
7777
78 if (gearman_failed(job->error_code))78 if (gearman_failed(job->_error_code))
79 {79 {
80 return GEARMAN_FUNCTION_FATAL;80 return GEARMAN_FUNCTION_FATAL;
81 }81 }
8282
=== modified file 'libgearman/function/function_v2.cc'
--- libgearman/function/function_v2.cc 2013-02-03 13:13:26 +0000
+++ libgearman/function/function_v2.cc 2013-07-05 22:08:31 +0000
@@ -56,19 +56,19 @@
56 switch (error)56 switch (error)
57 {57 {
58 case GEARMAN_SHUTDOWN:58 case GEARMAN_SHUTDOWN:
59 job->error_code= GEARMAN_SUCCESS;59 job->_error_code= GEARMAN_SUCCESS;
60 return GEARMAN_FUNCTION_SHUTDOWN;60 return GEARMAN_FUNCTION_SHUTDOWN;
6161
62 case GEARMAN_FATAL:62 case GEARMAN_FATAL:
63 job->error_code= GEARMAN_FATAL;63 job->_error_code= GEARMAN_FATAL;
64 return GEARMAN_FUNCTION_FATAL;64 return GEARMAN_FUNCTION_FATAL;
6565
66 case GEARMAN_ERROR:66 case GEARMAN_ERROR:
67 job->error_code= GEARMAN_ERROR;67 job->_error_code= GEARMAN_ERROR;
68 return GEARMAN_FUNCTION_ERROR;68 return GEARMAN_FUNCTION_ERROR;
6969
70 case GEARMAN_SUCCESS:70 case GEARMAN_SUCCESS:
71 job->error_code= GEARMAN_SUCCESS;71 job->_error_code= GEARMAN_SUCCESS;
72 return GEARMAN_FUNCTION_SUCCESS;72 return GEARMAN_FUNCTION_SUCCESS;
7373
74 case GEARMAN_IO_WAIT:74 case GEARMAN_IO_WAIT:
7575
=== modified file 'libgearman/function/partition.cc'
--- libgearman/function/partition.cc 2013-02-03 13:13:26 +0000
+++ libgearman/function/partition.cc 2013-07-05 22:08:31 +0000
@@ -56,19 +56,19 @@
56 switch (error)56 switch (error)
57 {57 {
58 case GEARMAN_FATAL:58 case GEARMAN_FATAL:
59 job->error_code= GEARMAN_FATAL;59 job->_error_code= GEARMAN_FATAL;
60 return GEARMAN_FUNCTION_FATAL;60 return GEARMAN_FUNCTION_FATAL;
6161
62 case GEARMAN_SHUTDOWN:62 case GEARMAN_SHUTDOWN:
63 job->error_code= GEARMAN_SUCCESS;63 job->_error_code= GEARMAN_SUCCESS;
64 return GEARMAN_FUNCTION_SHUTDOWN;64 return GEARMAN_FUNCTION_SHUTDOWN;
6565
66 case GEARMAN_ERROR:66 case GEARMAN_ERROR:
67 job->error_code= GEARMAN_ERROR;67 job->_error_code= GEARMAN_ERROR;
68 return GEARMAN_FUNCTION_ERROR;68 return GEARMAN_FUNCTION_ERROR;
6969
70 case GEARMAN_SUCCESS:70 case GEARMAN_SUCCESS:
71 job->error_code= GEARMAN_SUCCESS;71 job->_error_code= GEARMAN_SUCCESS;
72 return GEARMAN_FUNCTION_SUCCESS;72 return GEARMAN_FUNCTION_SUCCESS;
7373
74 case GEARMAN_IO_WAIT:74 case GEARMAN_IO_WAIT:
7575
=== modified file 'libgearman/interface/worker.hpp'
--- libgearman/interface/worker.hpp 2013-07-02 23:51:10 +0000
+++ libgearman/interface/worker.hpp 2013-07-05 22:08:31 +0000
@@ -132,6 +132,11 @@
132 return universal.error();132 return universal.error();
133 }133 }
134134
135 gearman_return_t error_code() const
136 {
137 return universal.error_code();
138 }
139
135private:140private:
136 gearman_worker_st* _shell;141 gearman_worker_st* _shell;
137 gearman_worker_st _owned_shell;142 gearman_worker_st _owned_shell;
138143
=== modified file 'libgearman/job.cc'
--- libgearman/job.cc 2013-07-03 04:42:18 +0000
+++ libgearman/job.cc 2013-07-05 22:08:31 +0000
@@ -191,7 +191,7 @@
191 job->options.finished= false;191 job->options.finished= false;
192192
193 job->reducer= NULL;193 job->reducer= NULL;
194 job->error_code= GEARMAN_UNKNOWN_STATE;194 job->_error_code= GEARMAN_UNKNOWN_STATE;
195195
196 if (job->_worker.job_list)196 if (job->_worker.job_list)
197 {197 {
@@ -456,7 +456,6 @@
456 {456 {
457 return ret;457 return ret;
458 }458 }
459
460 job->finished(true);459 job->finished(true);
461 }460 }
462461
@@ -488,7 +487,13 @@
488 job->options.work_in_use= true;487 job->options.work_in_use= true;
489 }488 }
490489
491 return _job_send(job);490 if (gearman_failed(_job_send(job)))
491 {
492 return job->error_code();
493 }
494#if 0
495 job->finished(true);
496#endif
492 }497 }
493498
494 return GEARMAN_SUCCESS;499 return GEARMAN_SUCCESS;
495500
=== modified file 'libgearman/job.hpp'
--- libgearman/job.hpp 2013-07-02 23:51:10 +0000
+++ libgearman/job.hpp 2013-07-05 22:08:31 +0000
@@ -69,10 +69,20 @@
69 gearman_packet_st assigned;69 gearman_packet_st assigned;
70 gearman_packet_st work;70 gearman_packet_st work;
71 struct gearman_job_reducer_st *reducer;71 struct gearman_job_reducer_st *reducer;
72 gearman_return_t error_code;72 gearman_return_t _error_code;
7373
74 gearman_universal_st& universal()74 gearman_universal_st& universal()
75 {75 {
76 return _worker.universal;76 return _worker.universal;
77 }77 }
78
79 gearman_universal_st& universal() const
80 {
81 return _worker.universal;
82 }
83
84 gearman_return_t error_code() const
85 {
86 return universal().error_code();
87 }
78};88};
7989
=== modified file 'libgearman/worker.cc'
--- libgearman/worker.cc 2013-07-02 23:51:10 +0000
+++ libgearman/worker.cc 2013-07-05 22:08:31 +0000
@@ -1043,19 +1043,19 @@
1043 static_cast<void *>(worker->impl()->work_function->context)))1043 static_cast<void *>(worker->impl()->work_function->context)))
1044 {1044 {
1045 case GEARMAN_FUNCTION_INVALID_ARGUMENT:1045 case GEARMAN_FUNCTION_INVALID_ARGUMENT:
1046 worker->impl()->work_job->error_code= gearman_error(worker->impl()->universal, GEARMAN_INVALID_ARGUMENT, "worker returned an invalid response, gearman_return_t");1046 worker->impl()->work_job->_error_code= gearman_error(worker->impl()->universal, GEARMAN_INVALID_ARGUMENT, "worker returned an invalid response, gearman_return_t");
1047 case GEARMAN_FUNCTION_FATAL:1047 case GEARMAN_FUNCTION_FATAL:
1048 if (gearman_job_send_fail_fin(worker->impl()->work_job) == GEARMAN_LOST_CONNECTION) // If we fail this, we have no connection, @note this causes us to lose the current error1048 if (gearman_job_send_fail_fin(worker->impl()->work_job) == GEARMAN_LOST_CONNECTION) // If we fail this, we have no connection, @note this causes us to lose the current error
1049 {1049 {
1050 worker->impl()->work_job->error_code= GEARMAN_LOST_CONNECTION;1050 worker->impl()->work_job->_error_code= GEARMAN_LOST_CONNECTION;
1051 break;1051 break;
1052 }1052 }
1053 worker->impl()->work_state= GEARMAN_WORKER_WORK_UNIVERSAL_FAIL;1053 worker->impl()->work_state= GEARMAN_WORKER_WORK_UNIVERSAL_FAIL;
1054 return worker->impl()->work_job->error_code;1054 return worker->impl()->work_job->_error_code;
10551055
1056 case GEARMAN_FUNCTION_ERROR: // retry 1056 case GEARMAN_FUNCTION_ERROR: // retry
1057 gearman_reset(worker->impl()->universal);1057 gearman_reset(worker->impl()->universal);
1058 worker->impl()->work_job->error_code= GEARMAN_LOST_CONNECTION;1058 worker->impl()->work_job->_error_code= GEARMAN_LOST_CONNECTION;
1059 break;1059 break;
10601060
1061 case GEARMAN_FUNCTION_SHUTDOWN:1061 case GEARMAN_FUNCTION_SHUTDOWN:
@@ -1065,7 +1065,7 @@
1065 break;1065 break;
1066 }1066 }
10671067
1068 if (worker->impl()->work_job->error_code == GEARMAN_LOST_CONNECTION)1068 if (worker->impl()->work_job->_error_code == GEARMAN_LOST_CONNECTION)
1069 {1069 {
1070 break;1070 break;
1071 }1071 }
@@ -1073,12 +1073,12 @@
10731073
1074 case GEARMAN_WORKER_WORK_UNIVERSAL_COMPLETE:1074 case GEARMAN_WORKER_WORK_UNIVERSAL_COMPLETE:
1075 {1075 {
1076 worker->impl()->work_job->error_code= gearman_job_send_complete_fin(worker->impl()->work_job,1076 worker->impl()->work_job->_error_code= gearman_job_send_complete_fin(worker->impl()->work_job,
1077 worker->impl()->work_result, worker->impl()->work_result_size);1077 worker->impl()->work_result, worker->impl()->work_result_size);
1078 if (worker->impl()->work_job->error_code == GEARMAN_IO_WAIT)1078 if (worker->impl()->work_job->_error_code == GEARMAN_IO_WAIT)
1079 {1079 {
1080 worker->impl()->work_state= GEARMAN_WORKER_WORK_UNIVERSAL_COMPLETE;1080 worker->impl()->work_state= GEARMAN_WORKER_WORK_UNIVERSAL_COMPLETE;
1081 return gearman_error(worker->impl()->universal, worker->impl()->work_job->error_code,1081 return gearman_error(worker->impl()->universal, worker->impl()->work_job->_error_code,
1082 "A failure occurred after worker had successful complete, unless gearman_job_send_complete() was called directly by worker, client has not been informed of success.");1082 "A failure occurred after worker had successful complete, unless gearman_job_send_complete() was called directly by worker, client has not been informed of success.");
1083 }1083 }
10841084
@@ -1089,31 +1089,31 @@
1089 }1089 }
10901090
1091 // If we lost the connection, we retry the work, otherwise we error1091 // If we lost the connection, we retry the work, otherwise we error
1092 if (worker->impl()->work_job->error_code == GEARMAN_LOST_CONNECTION)1092 if (worker->impl()->work_job->_error_code == GEARMAN_LOST_CONNECTION)
1093 {1093 {
1094 break;1094 break;
1095 }1095 }
1096 else if (worker->impl()->work_job->error_code == GEARMAN_SHUTDOWN)1096 else if (worker->impl()->work_job->_error_code == GEARMAN_SHUTDOWN)
1097 { }1097 { }
1098 else if (gearman_failed(worker->impl()->work_job->error_code))1098 else if (gearman_failed(worker->impl()->work_job->_error_code))
1099 {1099 {
1100 worker->impl()->work_state= GEARMAN_WORKER_WORK_UNIVERSAL_FAIL;1100 worker->impl()->work_state= GEARMAN_WORKER_WORK_UNIVERSAL_FAIL;
11011101
1102 return worker->impl()->work_job->error_code;1102 return worker->impl()->work_job->_error_code;
1103 }1103 }
1104 }1104 }
1105 break;1105 break;
11061106
1107 case GEARMAN_WORKER_WORK_UNIVERSAL_FAIL:1107 case GEARMAN_WORKER_WORK_UNIVERSAL_FAIL:
1108 {1108 {
1109 if (gearman_failed(worker->impl()->work_job->error_code= gearman_job_send_fail_fin(worker->impl()->work_job)))1109 if (gearman_failed(worker->impl()->work_job->_error_code= gearman_job_send_fail_fin(worker->impl()->work_job)))
1110 {1110 {
1111 if (worker->impl()->work_job->error_code == GEARMAN_LOST_CONNECTION)1111 if (worker->impl()->work_job->_error_code == GEARMAN_LOST_CONNECTION)
1112 {1112 {
1113 break;1113 break;
1114 }1114 }
11151115
1116 return worker->impl()->work_job->error_code;1116 return worker->impl()->work_job->_error_code;
1117 }1117 }
1118 }1118 }
1119 break;1119 break;
11201120
=== modified file 'tests/libgearman-1.0/worker_test.cc'
--- tests/libgearman-1.0/worker_test.cc 2013-06-27 22:00:23 +0000
+++ tests/libgearman-1.0/worker_test.cc 2013-07-05 22:08:31 +0000
@@ -759,6 +759,12 @@
759 return TEST_SUCCESS;759 return TEST_SUCCESS;
760}760}
761761
762static gearman_return_t exception_fn(gearman_task_st* task)
763{
764 Out << "Task Handle: " << gearman_task_job_handle(task);
765 return GEARMAN_SUCCESS;
766}
767
762static test_return_t gearman_job_send_exception_mass_TEST(void *)768static test_return_t gearman_job_send_exception_mass_TEST(void *)
763{769{
764 gearman_function_t call_exception_WORKER_FN= gearman_function_create(call_exception_WORKER);770 gearman_function_t call_exception_WORKER_FN= gearman_function_create(call_exception_WORKER);
@@ -772,6 +778,10 @@
772778
773 std::vector<gearman_task_st*> tasks;779 std::vector<gearman_task_st*> tasks;
774 libgearman::Client client(libtest::default_port());780 libgearman::Client client(libtest::default_port());
781
782 gearman_exception_fn *func= exception_fn;
783 gearman_client_set_exception_fn(&client, func);
784
775 for (size_t x= 0; x < 100; ++x)785 for (size_t x= 0; x < 100; ++x)
776 {786 {
777 char buffer[GEARMAN_MAXIMUM_INTEGER_DISPLAY_LENGTH];787 char buffer[GEARMAN_MAXIMUM_INTEGER_DISPLAY_LENGTH];
@@ -1371,14 +1381,17 @@
1371 max_block_size= 24;1381 max_block_size= 24;
1372 }1382 }
13731383
1384 libtest::vchar_t workload;
1385 libtest::vchar::make(workload, block_size);
1386
1374 for (size_t x= 1; x < max_block_size; ++x)1387 for (size_t x= 1; x < max_block_size; ++x)
1375 {1388 {
1376 if (valgrind_is_caller() and (x * block_size) > 15728640)1389 if (valgrind_is_caller() and (x * block_size) > 15728640)
1377 {1390 {
1378 continue;1391 continue;
1379 }1392 }
1380 libtest::vchar_t workload;1393
1381 libtest::vchar::make(workload, x * block_size);1394 workload.resize(x * block_size);
13821395
1383 gearman_argument_t value= gearman_argument_make(0, 0, vchar_param(workload));1396 gearman_argument_t value= gearman_argument_make(0, 0, vchar_param(workload));
13841397
@@ -1403,7 +1416,7 @@
1403 gearman_task_return(task));1416 gearman_task_return(task));
14041417
1405 gearman_result_st *result= gearman_task_result(task);1418 gearman_result_st *result= gearman_task_result(task);
1406 test_true(result);1419 ASSERT_TRUE(result);
1407 ASSERT_EQ(gearman_result_size(result), workload.size());1420 ASSERT_EQ(gearman_result_size(result), workload.size());
1408 }1421 }
14091422

Subscribers

People subscribed via source and target branches

to all changes: