Gitweb links:
...log
http://git.netsurf-browser.org/netsurf.git/shortlog/4421d1bab6529132ee8b8988d2c2e538002906f5
...commit
http://git.netsurf-browser.org/netsurf.git/commit/4421d1bab6529132ee8b8988d2c2e538002906f5
...tree
http://git.netsurf-browser.org/netsurf.git/tree/4421d1bab6529132ee8b8988d2c2e538002906f5
The branch, master has been updated
via 4421d1bab6529132ee8b8988d2c2e538002906f5 (commit)
via f7d97d64836a042effd52a894ed8b1abeff46960 (commit)
via 6a9137f4319951b370b5b94e5d3049d6430e031d (commit)
from 1150cf684d7b9a47fb6780d4bf22cd3d89df28da (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=4421d1bab6529132ee8b8988d2c2e538002906f5
commit 4421d1bab6529132ee8b8988d2c2e538002906f5
Author: Daniel Silverstone <[email protected]>
Commit: Daniel Silverstone <[email protected]>
llcache: Ensure we preserve iteratorness when sending messages
In order to prevent a problem where iterating causes an abort
which causes an iteration which clears the iteratorness of a
user allowing it to delete itself causing a segfault, preserve
the iteratorness when iterating in send_message
Signed-off-by: Daniel Silverstone <[email protected]>
diff --git a/content/llcache.c b/content/llcache.c
index ff21d29..34b43d7 100644
--- a/content/llcache.c
+++ b/content/llcache.c
@@ -393,6 +393,7 @@ static nserror llcache_send_event_to_users(llcache_object
*object,
user = object->users;
while (user != NULL) {
+ bool was_target = user->iterator_target;
user->iterator_target = true;
error = user->handle->cb(user->handle, event,
@@ -400,7 +401,7 @@ static nserror llcache_send_event_to_users(llcache_object
*object,
next_user = user->next;
- user->iterator_target = false;
+ user->iterator_target = was_target;
if (user->queued_for_delete) {
llcache_object_remove_user(object, user);
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=f7d97d64836a042effd52a894ed8b1abeff46960
commit f7d97d64836a042effd52a894ed8b1abeff46960
Author: Daniel Silverstone <[email protected]>
Commit: Daniel Silverstone <[email protected]>
monkey: Report the errno when select() returns -1
Signed-off-by: Daniel Silverstone <[email protected]>
diff --git a/frontends/monkey/main.c b/frontends/monkey/main.c
index 9e05d35..1e496cb 100644
--- a/frontends/monkey/main.c
+++ b/frontends/monkey/main.c
@@ -23,6 +23,7 @@
#include <sys/types.h>
#include <unistd.h>
#include <string.h>
+#include <errno.h>
#include "utils/config.h"
#include "utils/sys_time.h"
@@ -306,6 +307,7 @@ static void monkey_run(void)
&exc_fd_set,
timeout);
if (rdy_fd < 0) {
+ NSLOG(netsurf, CRITICAL, "Unable to select: %s",
strerror(errno));
monkey_done = true;
} else if (rdy_fd > 0) {
if (FD_ISSET(0, &read_fd_set)) {
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=6a9137f4319951b370b5b94e5d3049d6430e031d
commit 6a9137f4319951b370b5b94e5d3049d6430e031d
Author: Daniel Silverstone <[email protected]>
Commit: Daniel Silverstone <[email protected]>
monkey: Run scheduler before extracting fdsets
We need to run the scheduler *before* we extract the fdsets from
the fetchers, otherwise fetch aborts might result in EBADF
Signed-off-by: Daniel Silverstone <[email protected]>
diff --git a/frontends/monkey/main.c b/frontends/monkey/main.c
index 87a486d..9e05d35 100644
--- a/frontends/monkey/main.c
+++ b/frontends/monkey/main.c
@@ -263,6 +263,9 @@ static void monkey_run(void)
while (!monkey_done) {
+ /* discover the next scheduled event time */
+ schedtm = monkey_schedule_run();
+
/* clears fdset */
fetch_fdset(&read_fd_set, &write_fd_set, &exc_fd_set, &max_fd);
@@ -273,9 +276,6 @@ static void monkey_run(void)
FD_SET(0, &read_fd_set);
FD_SET(0, &exc_fd_set);
- /* discover the next scheduled event time */
- schedtm = monkey_schedule_run();
-
/* setup timeout */
switch (schedtm) {
case -1:
-----------------------------------------------------------------------
Summary of changes:
content/llcache.c | 3 ++-
frontends/monkey/main.c | 8 +++++---
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/content/llcache.c b/content/llcache.c
index ff21d29..34b43d7 100644
--- a/content/llcache.c
+++ b/content/llcache.c
@@ -393,6 +393,7 @@ static nserror llcache_send_event_to_users(llcache_object
*object,
user = object->users;
while (user != NULL) {
+ bool was_target = user->iterator_target;
user->iterator_target = true;
error = user->handle->cb(user->handle, event,
@@ -400,7 +401,7 @@ static nserror llcache_send_event_to_users(llcache_object
*object,
next_user = user->next;
- user->iterator_target = false;
+ user->iterator_target = was_target;
if (user->queued_for_delete) {
llcache_object_remove_user(object, user);
diff --git a/frontends/monkey/main.c b/frontends/monkey/main.c
index 87a486d..1e496cb 100644
--- a/frontends/monkey/main.c
+++ b/frontends/monkey/main.c
@@ -23,6 +23,7 @@
#include <sys/types.h>
#include <unistd.h>
#include <string.h>
+#include <errno.h>
#include "utils/config.h"
#include "utils/sys_time.h"
@@ -263,6 +264,9 @@ static void monkey_run(void)
while (!monkey_done) {
+ /* discover the next scheduled event time */
+ schedtm = monkey_schedule_run();
+
/* clears fdset */
fetch_fdset(&read_fd_set, &write_fd_set, &exc_fd_set, &max_fd);
@@ -273,9 +277,6 @@ static void monkey_run(void)
FD_SET(0, &read_fd_set);
FD_SET(0, &exc_fd_set);
- /* discover the next scheduled event time */
- schedtm = monkey_schedule_run();
-
/* setup timeout */
switch (schedtm) {
case -1:
@@ -306,6 +307,7 @@ static void monkey_run(void)
&exc_fd_set,
timeout);
if (rdy_fd < 0) {
+ NSLOG(netsurf, CRITICAL, "Unable to select: %s",
strerror(errno));
monkey_done = true;
} else if (rdy_fd > 0) {
if (FD_ISSET(0, &read_fd_set)) {
--
NetSurf Browser
_______________________________________________
netsurf-commits mailing list
[email protected]
http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/netsurf-commits-netsurf-browser.org