From b77532ea3f82dc0b9d4aa36f517589143aa302b3 Mon Sep 17 00:00:00 2001 From: Sergey Lyubka <valenok@gmail.com> Date: Tue, 4 Mar 2014 20:22:46 +0000 Subject: [PATCH] Added mjpg example --- examples/Makefile | 6 +++++- mongoose.c | 4 ++++ mongoose.h | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/examples/Makefile b/examples/Makefile index 51d4ac606..d94ac8ef6 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -48,6 +48,10 @@ upload: upload.c ../mongoose.c auth: auth.c ../mongoose.c $(CC) auth.c ../mongoose.c $(OUT) $(CFLAGS) +mjpg: mjpg.c ../mongoose.c + $(CC) mjpg.c ../mongoose.c $(OUT) $(CFLAGS) + + websocket_html.c: websocket.html perl mkdata.pl $< > $@ @@ -55,4 +59,4 @@ u: g++ unit_test.c -Wall -W -pedantic -lssl -g -O0 $(CFLAGS_EXTRA) && ./a.out clean: - -@$(RM) hello upload post websocket auth server multi_threaded websocket_html.c *.exe *.dSYM *.obj .*o + -@$(RM) hello mjpg upload post websocket auth server multi_threaded websocket_html.c *.exe *.dSYM *.obj .*o diff --git a/mongoose.c b/mongoose.c index e4480a1c2..d9502ca7b 100644 --- a/mongoose.c +++ b/mongoose.c @@ -4783,6 +4783,10 @@ static void mg_ev_handler(struct ns_connection *nc, enum ns_event ev, void *p) { break; case NS_POLL: + if (call_user(conn, MG_POLL) == MG_TRUE) { + nc->flags |= NSF_FINISHED_SENDING_DATA; + } + if (conn != NULL && conn->endpoint_type == EP_FILE) { transfer_file_data(conn); } diff --git a/mongoose.h b/mongoose.h index c430ff9ab..734147557 100644 --- a/mongoose.h +++ b/mongoose.h @@ -58,7 +58,7 @@ struct mg_connection { }; struct mg_server; // Opaque structure describing server instance -enum mg_result { MG_FALSE, MG_TRUE }; +enum mg_result { MG_FALSE, MG_TRUE, MG_MORE }; enum mg_event { MG_POLL = 100, // Callback return value is ignored MG_CONNECT, // If callback returns MG_FALSE, connect fails -- GitLab