test-only: Placing a mutex while evaluating the pm operator

Performing an earlier optimization of the tree (before threads creation)
This commit is contained in:
Felipe Zimmerle
2017-06-03 23:13:51 -03:00
parent 7828220e56
commit 69eb406b8d
5 changed files with 34 additions and 10 deletions

View File

@@ -18,7 +18,7 @@
#include <unistd.h>
#define NUM_THREADS 100
#define NUM_THREADS 20
char request_header[] = "" \
@@ -78,7 +78,7 @@ static void *process_request(void *data) {
modsecurity::Rules *rules = a->rules;
int z = 0;
for (z = 0; z < 10000; z++) {
for (z = 0; z < 1000; z++) {
modsecurity::Transaction *modsecTransaction = \
new modsecurity::Transaction(modsec, rules, NULL);
modsecTransaction->processConnection(ip, 12345, "127.0.0.1", 80);
@@ -153,14 +153,12 @@ class ReadingLogsViaRuleMessage {
for (i = 0; i < NUM_THREADS; i++) {
pthread_create(&threads[i], NULL, process_request, (void *)&dms);
//process_request((void *)&dms);
}
usleep(10000);
for (i=0; i < NUM_THREADS; i++) {
pthread_join(threads[i], &status);
std::cout << "Main: completed thread id :" << i << std::endl;
}
delete rules;

View File

@@ -18,12 +18,13 @@
#include <modsecurity/modsecurity.h>
#include <modsecurity/rules.h>
#include "examples/reading_logs_via_rule_message/reading_logs_via_rule_message.h"
#include "reading_logs_via_rule_message.h"
std::unordered_multimap<std::string, std::string> requestHeaders;
int main(int argc, char **argv) {
char a = '\0';
*argv++;
if (*argv == NULL) {
*argv--;
@@ -34,7 +35,7 @@ int main(int argc, char **argv) {
std::string rules(*argv);
ReadingLogsViaRuleMessage rlvrm(requestHeaders, request_uri, request_body,
"", response_body, ip, rules);
&a, response_body, ip, rules);
rlvrm.process();
pthread_exit(NULL);