Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
card10
openocd
Commits
f4fce92f
Commit
f4fce92f
authored
Sep 29, 2009
by
oharboe
Browse files
handle single threading
git-svn-id:
svn://svn.berlios.de/openocd/trunk@2771
b42882b7-edfa-0310-969c-e2dbd0fdcd60
parent
035b6ba8
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/server/httpd.c
View file @
f4fce92f
...
...
@@ -34,6 +34,20 @@
#define PAGE_NOT_FOUND "<html><head><title > File not found</title></head><body > File not found</body></html>"
static
pthread_mutex_t
mutex
;
void
openocd_sleep_prelude
(
void
)
{
pthread_mutex_unlock
(
&
mutex
);
}
void
openocd_sleep_postlude
(
void
)
{
pthread_mutex_lock
(
&
mutex
);
}
int
loadFile
(
const
char
*
name
,
void
**
data
,
size_t
*
len
);
static
const
char
*
appendf
(
const
char
*
prev
,
const
char
*
format
,
...)
...
...
@@ -184,7 +198,9 @@ static void request_completed(void *cls, struct MHD_Connection *connection,
if
(
r
->
postprocessor
)
{
openocd_sleep_postlude
();
MHD_destroy_post_processor
(
r
->
postprocessor
);
openocd_sleep_prelude
();
}
free
(
r
);
...
...
@@ -257,7 +273,7 @@ static int record_arg(void *cls, enum MHD_ValueKind kind, const char *key,
}
int
handle_request
(
struct
MHD_Connection
*
connection
,
const
char
*
url
)
static
int
handle_request
(
struct
MHD_Connection
*
connection
,
const
char
*
url
)
{
struct
MHD_Response
*
response
;
...
...
@@ -335,7 +351,7 @@ int handle_request(struct MHD_Connection * connection, const char * url)
}
}
static
int
ahc_echo
(
void
*
cls
,
struct
MHD_Connection
*
connection
,
static
int
ahc_echo
_inner
(
void
*
cls
,
struct
MHD_Connection
*
connection
,
const
char
*
url
,
const
char
*
method
,
const
char
*
version
,
const
char
*
upload_data
,
unsigned
int
*
upload_data_size
,
void
**
ptr
)
{
...
...
@@ -423,9 +439,23 @@ static int ahc_echo(void * cls, struct MHD_Connection * connection,
return
result
;
}
static
struct
MHD_Daemon
*
d
;
static
pthread_mutex_t
mutex
;
static
int
ahc_echo
(
void
*
cls
,
struct
MHD_Connection
*
connection
,
const
char
*
url
,
const
char
*
method
,
const
char
*
version
,
const
char
*
upload_data
,
unsigned
int
*
upload_data_size
,
void
**
ptr
)
{
int
result
;
openocd_sleep_postlude
();
result
=
ahc_echo_inner
(
cls
,
connection
,
url
,
method
,
version
,
upload_data
,
upload_data_size
,
ptr
);
openocd_sleep_prelude
();
return
result
;
}
static
struct
MHD_Daemon
*
d
;
int
httpd_start
(
void
)
{
...
...
@@ -464,13 +494,3 @@ void httpd_stop(void)
pthread_mutex_destroy
(
&
mutex
);
}
void
openocd_sleep_prelude
(
void
)
{
pthread_mutex_unlock
(
&
mutex
);
}
void
openocd_sleep_postlude
(
void
)
{
pthread_mutex_lock
(
&
mutex
);
}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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