Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
varnishevent
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
uplex-varnish
varnishevent
Commits
10563cf5
Commit
10563cf5
authored
Sep 11, 2015
by
Geoff Simmons
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
restore the simpler version of VSTAILQ_PREPEND
parent
b34d5501
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
5 additions
and
7 deletions
+5
-7
data.c
src/data.c
+5
-7
No files found.
src/data.c
View file @
10563cf5
...
@@ -49,15 +49,13 @@
...
@@ -49,15 +49,13 @@
#define __offsetof(st, m) offsetof(st,m)
#define __offsetof(st, m) offsetof(st,m)
/* Preprend head2 before head1, result in head1, head2 empty afterward */
/* Preprend head2 before head1, result in head1, head2 empty afterward */
#define VSTAILQ_PREPEND(head1, head2
, type, fld) do {
\
#define VSTAILQ_PREPEND(head1, head2
) do {
\
if (VSTAILQ_EMPTY((head2))) \
if (VSTAILQ_EMPTY((head2))) \
break; \
break; \
if (VSTAILQ_EMPTY((head1))) \
if (VSTAILQ_EMPTY((head1))) \
(head1)->vstqh_last = (head2)->vstqh_last; \
(head1)->vstqh_last = (head2)->vstqh_last; \
else { \
else \
struct type *l = VSTAILQ_LAST(head2, type, fld); \
*(head2)->vstqh_last = VSTAILQ_FIRST((head1)); \
VSTAILQ_NEXT(l, fld) = VSTAILQ_FIRST((head1)); \
} \
VSTAILQ_FIRST((head1)) = VSTAILQ_FIRST((head2)); \
VSTAILQ_FIRST((head1)) = VSTAILQ_FIRST((head2)); \
VSTAILQ_INIT((head2)); \
VSTAILQ_INIT((head2)); \
} while (0)
} while (0)
...
@@ -338,7 +336,7 @@ DATA_Take_Free##type(struct type##head_s *dst) \
...
@@ -338,7 +336,7 @@ DATA_Take_Free##type(struct type##head_s *dst) \
unsigned nfree; \
unsigned nfree; \
\
\
AZ(pthread_mutex_lock(&free##type##_lock)); \
AZ(pthread_mutex_lock(&free##type##_lock)); \
VSTAILQ_PREPEND(dst, &free##type##head
, type##_t, freelist);
\
VSTAILQ_PREPEND(dst, &free##type##head
);
\
nfree = global_nfree_##type; \
nfree = global_nfree_##type; \
global_nfree_##type = 0; \
global_nfree_##type = 0; \
AZ(pthread_mutex_unlock(&free##type##_lock)); \
AZ(pthread_mutex_unlock(&free##type##_lock)); \
...
@@ -358,7 +356,7 @@ void \
...
@@ -358,7 +356,7 @@ void \
DATA_Return_Free##type(struct type##head_s *returned, unsigned nreturned) \
DATA_Return_Free##type(struct type##head_s *returned, unsigned nreturned) \
{ \
{ \
AZ(pthread_mutex_lock(&free##type##_lock)); \
AZ(pthread_mutex_lock(&free##type##_lock)); \
VSTAILQ_PREPEND(&free##type##head, returned
, type##_t, freelist);
\
VSTAILQ_PREPEND(&free##type##head, returned
);
\
global_nfree_##type += nreturned; \
global_nfree_##type += nreturned; \
AZ(pthread_mutex_unlock(&free##type##_lock)); \
AZ(pthread_mutex_unlock(&free##type##_lock)); \
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment